我希望有一个正则表达式,可以验证从046R到120R的任何字符串。
听起来很简单,但是我遗漏了一些东西。这就是我所拥有的:
^04[6-9]R|0[5-9][0-9]R|10[0-9]R|11[0-9]R|120R +$但它也不会将120R作为有效字符串。这个表达式可以简化吗?
提前谢谢。
发布于 2011-04-04 05:12:56
删除最后一个+。否则,它需要在字符串120R后面有一个或多个空格才能进行验证。
而且,|的优先级非常低。^和$应该留在包含|的组之外。
^(?:04[6-9]|0[5-9][0-9]|1[01][0-9]|120)R\s*$发布于 2011-04-04 05:20:33
您可以通过使用否定先行来排除某些匹配,并简化正则表达式。
^(?!0[0-3])(?!04[0-5])[01]\d\dR$https://stackoverflow.com/questions/5532553
复制相似问题