我需要找到一种限制数据输入的模式.我需要它来限制输入:
第一个字符必须是"S"第二个字符必须是"S","T","W","X"或"V"接下来的6个必须是0到9的数字.最后2个可以是任何大写字母或任何数字0 - 9
所以我的研究让我把它放在一起......
^[S][STWXV]/d{6}[A-Z0-9]{2}$
从我读到的:
[S]表示大写字母S仅
[STWXV]表示此列表中的任何一个字母
/d{6}表示6位数
[A-Z0-9]{2}表示任意2个字符A - Z或0 - 9
我不是在字符串中的任何地方寻找匹配,我需要整个字符串来匹配这个模式.
那么为什么Regex.IsMatch("SX25536101", "^[S][STWXV]/d{6}[A-Z0-9]{2}$")返回假?
我在某处显然出了问题,但这是我对正则表达式的第一次尝试,这没有任何意义:(
您需要使用\d数字:
Regex.IsMatch("SX25536101", @"^[S][STWXV]\d{6}[A-Z0-9]{2}$"); // true
Run Code Online (Sandbox Code Playgroud)
注意:这是很好的正则表达式备忘单,可以帮助您将来.