【发布时间】:2012-04-03 12:14:36
【问题描述】:
我正在尝试使用 .NET Regex 来验证字符串的输入格式。字符串可以是格式
single digit 0-9 followed by
single letter A-Z OR 07 OR 03 or AA followed by
two letters A-Z
所以 0AAA、107ZF、503GH、0AAAA 都是有效的。我构造正则表达式的字符串如下:
"([0-9]{1})" +
"((03$)|(07$)|(AA$)|[A-Z]{1})" +
"([A-Z]{2})"
但这不会验证第二项是 03、07 或 AA 之一的字符串。在调试时,我从用于构造正则表达式的字符串中删除了第三项,并发现 103、507、6AA 形式的输入字符串将有效......
知道为什么当我将第三个术语放回正则表达式时,输入字符串(例如 1AAGM)不匹配吗?
谢谢 汤姆
【问题讨论】:
-
仅供参考,我发现这个工具对测试正则表达式非常有用gskinner.com/RegExr