我正在尝试使用.NET Regex来验证字符串的输入格式.字符串可以是格式
single digit 0-9 followed by
single letter A-Z OR 07 OR 03 or AA followed by
two letters A-Z
Run Code Online (Sandbox Code Playgroud)
所以0AAA,107ZF,503GH,0AAAA都是有效的.我构造我的正则表达式的字符串如下:
"([0-9]{1})" +
"((03$)|(07$)|(AA$)|[A-Z]{1})" +
"([A-Z]{2})"
Run Code Online (Sandbox Code Playgroud)
然而,这并不验证第二项是03,07或AA之一的字符串.在调试时,我从用于构造正则表达式的字符串中删除了第三个术语,并发现103,507,6AA形式的输入字符串将验证.......
任何想法为什么,当我把第三个术语放回到正则表达式时,输入字符串如1AAGM不匹配?
谢谢汤姆
这是因为你的表达式需要字符串03,07并AA在那里结束($匹配输入的结尾).$从这些子表达式中删除,并将其移动到表达式的末尾.
"^[0-9](03|07|AA|[A-Z])[A-Z]{2}$"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
168 次 |
| 最近记录: |