正则表达式

时间:2017-01-31 10:35:05

标签: c++ expression

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

2 个答案:

答案 0 :(得分:2)

您会混淆用户输入和字符文字。通过将所有输入字符与字符文字\进行比较,您可以捕获用户输入'\\'

答案 1 :(得分:2)

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