C++带有捕获组的正则表达式字符串文本
C++ regex string literal with capturing group
我有一个包含反斜杠、双引号的 std::字符串。我想使用捕获组提取子字符串,但我无法获得正确的语法。 例如
std::string str(R"(some"string"name":"john""lastname":"doe")"); //==> want to extract "john"
std::regex re(R"(some"string"name":")"(.*)R"(""lastname":"doe")"); //==> wrong syntax
std::smatch match;
std::string name;
if (std::regex_search(str, match, re) && match.size() > 1)
{
name = match.str(1);
}
-
使用字符串中没有出现的分度计。 例如
R"~( .... )~"
-
您仍然需要转义正则表达式的
。为了匹配
字面意思使用
\
. -
您可能希望在找到尽可能短的匹配项后立即停止。所以使用
(.*?)
:std::regex re(R"~(some\"string"name":"(.*?)"\"lastname":"doe")~");
相关文章:
- 使用正则表达式regex_search在字符串中查找字符串
- 如何在C++中使用正则表达式"|"后选择字符串?
- 如何在 c++11 中使用正则表达式找到确切的子字符串?
- 如何编写将验证以下字符串的正则表达式?
- C++带有捕获组的正则表达式字符串文本
- 如何使用正则表达式从字符串中提取值
- 使用正则表达式c++从单词和分隔符之间的字符串中提取所有子字符串
- 如何在没有外部库的情况下使用C++03约束执行基于正则表达式的字符串操作
- 需要忽略日期/序列号,但匹配字符串其余部分的正则表达式
- 如何将正则表达式向量与一个字符串匹配?
- 正则表达式匹配字符串之间的数字
- 如何根据某个索引将字符串与正则表达式匹配?
- 如何从字符串变量为正则表达式构建原始字符串
- C++ 中用于搜索字符串模式的正则表达式
- C++无符号字符串类型的正则表达式
- 如何使用正则表达式将输入数字格式化为字符串
- 使用具有特殊字符的正则表达式标记 C++ 字符串
- C 11正则表达式和字符串U8前缀
- 处理正则表达式字符串时编译崩溃(内存泄漏)
- 正则表达式字符串过滤 - 如何允许“-”符号