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