正则表达式,用于检查字符串的一部分是否大于特定数字

时间:2016-01-04 08:32:59

标签: regex

我有一个"CCUV2-20151223.1.122"类型的字符串,此字符串包含由点(.)分隔的三个部分

有没有办法检查第三部分(在此示例中说122)是否是大于特定数字的数字(例如{{ 1}})使用正则表达式?

1 个答案:

答案 0 :(得分:2)

一般来说,最好只取字符串的那一部分并使用您使用的任何语言将其转换为实际数字。但是,这是一个通用算法:

假设您要检查字符串是否大于数字,可以写为all digits。您只需要查看以下情况:

  • [1-9]\d{n,} - 该数字的位数超过n且不以0开头
  • [ d1+1 -9]\d{n-1} - 号码以数字开头,大于d1,并以n-1位数字继续
  • d1 [ d2+1 -9]\d{n-2} - 号码以d1开头,后跟大于d2的数字,并继续{{ 1}}数字
  • ...
  • enter image description here n-2 dn+1 [ - 除最后一位数外,其他所有数字都大于dn

现在只需使用-9]来组合这些案例。

<小时/> 将此应用于|,我们得到:

122