修改正则表达式以包含反斜杠和单引号(以便反斜杠表现为转义字符)
modify regex to include the backslash and single quote (so that backslash behaves as an escaping character)
>我有以下字符串:
arg1('value1') arg2('value '')2') arg3('value'3')
提取值的正则表达式如下所示:
boost::regex re_arg_values("('[^']*(?:''[^']*)*')");
现在这个正则表达式无法提取"值'3"。我如何修改正则表达式以考虑括号内的 '。
仅供参考。该值可以包含空格、特殊字符以及制表符。代码在 CPP 中。
提前谢谢。
boost::regex re_arg_values( "('([^'\]|''|\.)*')" );
('
和')
与边界匹配。
匹配任何给定模式的(
、|
和)*
[^'\]
匹配普通字符。
''
匹配一对单引号。
\.
匹配任何转义字符(包括堆叠反斜杠(。
相关文章:
- 单引号在C++数学编程中是什么意思?
- 为什么当我从 cin 阅读时转义字符不起作用?
- wcout不会打印正确的单引号
- C++ 中数组(单引号和双引号)的可视常量字符* 与字符
- 使用带有 std::cout 的单引号打印字符串实际上打印了数字
- 匹配外部单引号之间的字符串
- 如何使用C++中不是文字的变量在数字中显示单引号和两个引号?假设 6'2" 英尺
- 正则表达式使用提升令牌迭代器在单引号和括号之间提取值
- 在QLineEdit中显示和编辑转义字符
- std::regex_error语言 - 意外的转义字符
- LPCWSTR 查找和替换为转义字符
- 如何在QT中正确逃脱单引号和双引号
- 为什么'char'值必须有单引号而不是双引号?
- C++单引号语法
- 修改正则表达式以包含反斜杠和单引号(以便反斜杠表现为转义字符)
- iSpunct()未检测到单引号字符
- C++中的转义序列用单引号括起来,而不是用双引号括起来
- 从字符串c++中删除单引号字符
- 检查字符是否为单引号.c++
- c++ std::cout当我用单引号括起字符串时打印奇怪的字符