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

标签 c++ expression

我必须解析一个正则表达式,它可以包含特殊符号,例如\s 和 \d。问题是,我在解析表达式时无法区分 \,我的意思是 '\s' == 's',因此我无法区分特殊性格和基本性格。我该如何解决这个问题?

最佳答案

Raw string literals因为 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

关于正则表达式中的 C++ 特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41955359/

相关文章:

c++ - ICC 中的 -O2 搞乱了汇编程序,ICC 中的 -O1 和 GCC/Clang 中的所有优化都很好

传递函数参数时的 C++ 执行顺序

string - bquote : How to include an expression saved as a string object?

java - 在JAVA中使用正则表达式如何说4个任意字母一个空格然后4个数字

string - 将字符串表达式转换为实际工作实例表达式

c# - 无法跨 AppDomains 传递 GCHandle

c++ - 模板类使用参数包时如何传递其他模板参数?

C++ 类重新定义错误——我终生无法解决这个问题

C++ : Coverity reports leaks for peculiar use of references and containers

r - 从预处理的表达式矩阵创建 eset 对象?