我必须解析一个正则表达式,它可以包含特殊符号,例如\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/