C++正则表达式中的特殊字符
C++ special characters in a regular expression
我必须解析一个可以包含特殊符号(如 \s 和 \d)的正则表达式。问题是,我在解析表达式时无法区分 \,我的意思是 '\s' == 's',因此我无法区分特殊字符和基本字符。我该如何解决这个问题?
自 C++11 以来的原始字符串文字可以帮助您提高可读性:
"a\sb" // matches: a[whitespace]b
"a\\sb" // matches: asb
成为:
R"(asb)" // matches: a[whitespace]b
R"(a\sb)" // matches: asb
您混淆了用户输入和字符文字。通过将所有输入字符与字符文本''
进行比较来捕获用户输入。
相关文章:
- 带有多个字符分隔符的正则表达式
- C++ [正则表达式] 如何提取给定的字符值
- C++正则表达式字符类不匹配
- 通过正则表达式拆分字符串会切断结果的第一个字母
- 正则表达式 - 匹配不遵循特定模式的字符
- 使用具有特殊字符的正则表达式标记 C++ 字符串
- 正则表达式:从模式字符串 1.string2'string3 中提取字符串,其中字符串 1 可以包含 '." 字符
- 提升正则表达式 cpp 用于查找 %% 之间的字符串,输出不包括 % 字符本身
- 如何使用正则表达式匹配不包含特殊字符(&、\、<、>、|、)的字符串,除非它们以反斜杠开头
- 将一个特定字符替换为正则表达式匹配中的另一个字符
- 正则表达式匹配失败,特殊左括号无效
- 修改正则表达式以包含反斜杠和单引号(以便反斜杠表现为转义字符)
- C++正则表达式中的特殊字符
- 使用正则表达式为每个连续的大写字符附加'.'
- C++正则表达式转义标点字符,如"."
- 正则表达式:仅限数字 + 字母数字 + 特殊字符
- 增强特殊字符的正则表达式模式
- 比较(C)字符串中的特殊字符的正则表达式
- 使用正则表达式替换oracle中特殊字符之间的字符串
- 使用正则表达式拆分特殊字符