正则表达式验证一个数字

时间:2017-08-25 11:56:31

标签: regex pattern-matching regex-lookarounds

我正在尝试解决正则表达式的问题,在文本框中我希望有一个3位数的数字,其中第1位(即数百位数)应该大于或等于5 数十处的以下数字大于 数百位< / strong>(在我们的情况下是5)并且单位中的数字应该大于 数十地方的数字

e.g。有效字符串:567,789,689,589 无效字符串:123,556,896,765

1 个答案:

答案 0 :(得分:0)

  

注意:

     

数值比较通常应该通过普通代码而不是正则表达式来完成。   两者都是出于效率和代码可读性的原因。

这是正则表达式: [5-7][6-8](?<=5[6-8]|6[78]|78)[7-9](?<=6[7-9]|7[89]|89)

演示:https://regex101.com/r/nQfsE9/3

细分:

\b                    # Ensures starting of a number
[5-7]                 # First digit can't be higher than 7
[6-8]                 # Second digit can't be higher than 8
(?<=5[6-8]|6[78]|78)  # Lookback checks second digit larger than third
[7-9]                 # Last digit must be at least 7
(?<=6[7-9]|7[89]|89)  # Lookback checks second digit larger than third
\b                    # Ensures ending of a number