数值版本值低于“1.4.7”的字符串的正则表达式?

问题描述 投票:-2回答:2

可以使用正则表达式来表示所有具有比这更低数值的字符串吗? 1.4.7。我想应用它来让所有用户使用的应用程序版本低于指定版本。

例如,如果我有5个用户,每个用户都有此版本:

1.4.22
1.4.12
1.4.7
1.4.6
1.4.1
1.3.20

然后,正则表达式必须返回1.4.6,1.4.1和1.3.20,但不返回1.4.22而不是1.4.12,因为1.4.22和1.4.12的版本号高于1.4.7

有可能用正则表达式来做吗?

谢谢

regex
2个回答
1
投票

试试这样(这允许从0开始)

^0\.\d+\.\d+|1\.(?:[0-3]\.\d+|4\.[0-7])$

从1开始你可以尝试:

^1\.(?:[0-3]\.\d+|4\.[0-7])$

这将匹配:


1
投票

1\.4\.[0-6]匹配较低版本的数字。如果你想包括较低的主要版本,那么使用1\.4\.[0-6]|0\.[0-9]+\.[0-9]+|1\.[0-3]\.[0-9]+

© www.soinside.com 2019 - 2024. All rights reserved.