我需要一个regex匹配这个模式(使用C#)
我的匹配必须以2个字母字符(MA或CA)开头,并且必须以6或7位数字结尾; 例如CA123456或MA123456或MA1234567
这是我尝试过的:
Regex.IsMatch(StringInput, @"^[MA]{2}|^[CA]{2}\d{6,7}?"))
Run Code Online (Sandbox Code Playgroud)
不幸的是,它似乎与大多数东西相匹配
试试这种模式:
^[MC]A\d{6,7}$
Run Code Online (Sandbox Code Playgroud)
前导字符类([MC])要求字符串的起始位置为Ma或a C.之后,\d{6,7}匹配6或7位数.
使用图形的问题是第一选择:^[MA]{2}与开头的字符串相匹配AA,AM,MA,或MM.它根本不需要任何后续数字.由于正则表达式引擎可以匹配像AA1234567(匹配子串AA)这样的字符串的第一个替代,它甚至不会尝试找到另一个匹配.这就是为什么
它似乎与大多数东西相匹配.
| 归档时间: |
|
| 查看次数: |
794 次 |
| 最近记录: |