[英]C++ special characters in a regular expression
我必须解析一个可以包含特殊符号(例如\\ s和\\ d)的正则表达式。 问题是,我在解析表达式时无法区分\\ ,我的意思是'\\ s'=='s' ,因此我无法区分特殊字符和基本字符。 我该如何解决?
您会混淆用户输入和字符文字。 通过将所有输入字符与字符文字'\\\\'
进行比较,可以捕获用户输入\\
。
从C ++ 11开始的原始字符串文字可以帮助您提高可读性:
"a\\sb" // matches: a[whitespace]b
"a\\\\sb" // matches: a\sb
变成:
R"(a\sb)" // matches: a[whitespace]b
R"(a\\sb)" // matches: a\sb
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.