繁体   English   中英

正则表达式中的C ++特殊字符

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM