我正在尝试解决正则表达式的问题,在文本框中我希望有一个3位数的数字,其中第1位(即数百位数)应该大于或等于5 ,数十处的以下数字大于 数百位< / strong>(在我们的情况下是5)并且单位中的数字应该大于 数十地方的数字
e.g。有效字符串:567,789,689,589 无效字符串:123,556,896,765
答案 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