您好我正在学习正则表达式.. 我试图为跟随条件制作一个正则表达式:
这封信的正面或背面可以有一个空格,即它可以是“C”或“C”
[C-MPSTV-XZ {1}] {2}
我正在尝试上面的表达式{1}只预期一个字符和空格之后只允许一个空格。在字符串的末尾,我把{2}只得到2个字符。
我希望输入“XX”的regex_match为false,但它不起作用。
感谢您的帮助。
答案 0 :(得分:2)
\s?[C-MPSTV-XZ]\s?
。如果您使用的是std::regex_match
,
你不需要任何其他东西,因为regex_match
需要
匹配整个字符串。
答案 1 :(得分:2)
您发布的正则表达式将匹配两个不是空格的字符,因为您要求字符类中的任何两个字符。您还将接受{
,1
和}
作为字符,因为量词在字符类中充当文字字符。
简单的替代方法是明确说明这两个条件:
( [C-MPRSTV-XZ]|[C-MPRSTV-XZ] )
这假设您的正则表达式引擎正在将正则表达式中的空白视为重要。如果没有,或者如果您不喜欢,请用合适的转义序列替换空格。