我想用c#正则表达式来匹配一个特定的字符串,但我无法弄清楚如何去做。任何帮助表示赞赏。c#有条件的正则表达式字符串匹配
,我试图匹配是如下,其中A是一个大写字母字符的字符串,X是一个大写字母数字字符和#为0,1或2。
AA-#-XX-X-XXX-XXXXXXX-XXXXXXXX
因此,以下任何一项都可以匹配上面的字符串。
XY-1
MM-0-AB
MM-0-AB-1-ABC-1234567
VV-2-XX-7-CCC-ABCDEFG-12345678
任何下列任何将不匹配。
QQ-7-AA
(只有0,1,2在第二级是允许的。)
QQ-2-XX-7-CC
(部分字符这一水平。)
QQ-2-XX-7-CCC-ABCDEFG-
(不能在短划线端。)
QQ-2-XX-7-CCC-ABCDEFG-123456
(部分字符为该级别。)
到目前为止(不是那么远)我有作为模式匹配@"^[A-Z]{2}"
,但我不确定如何匹配条件最后(我甚至不确定是否有条件地使用适当的术语)字符串的其余部分,但只有当它在那里。我是否需要为此编写7个不同的语句?似乎不合理,但我可能是错的。
+1对于非常完整的答案。 – devstruck
我自己太亲近了,但是你打败了我。好的和很好解释的答案! +1 –
我也太慢了。我认为有一种方法可以缩短A-Z0-9(如0-9使用“\ d”),但我无法找到它。最近我得到的是“\ w”,但包含太多字符。 –