我有一个像1566-02
这样的字符串,其中-02
是可选的。如果我使用像这样的正则表达式
1566\s*-\s*\d{2}
在1566
之后,它始终需要带有连字符的2个数字。
如何将-02
部分设为可选,以便{15}的IsMatch
也适用?
例如 - 如果我们将字符串传递为1566或1566-02或1566-45,则IsMatch的值应为true 对于1566-AC或1566-
,IsMatch值应为false答案 0 :(得分:3)
只需将其打包在group中,然后使用零或一quantifier(?
)将其设为可选项:
1566(\s*-\s*\d{2})?
要禁止匹配字符串之前或之后的任何其他字符,请使用开始(^
)和结束($
)anchors:
^1566(\s*-\s*\d{2})?$