C++ 正则表达式搜索c++; #包括 #包括 int main(){ std::string s=“{\”|1 |\”:\“A\”,\“| 2 |\”:\“B\”,\“| 37 |\”:\“4234235\”,\“| 4 |\”:“C\”; 标准:正则表达式正则表达式(“37\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\; std::smatch m; 正则表达式搜索(s、m、正则表达式); std::cout

C++ 正则表达式搜索c++; #包括 #包括 int main(){ std::string s=“{\”|1 |\”:\“A\”,\“| 2 |\”:\“B\”,\“| 37 |\”:\“4234235\”,\“| 4 |\”:“C\”; 标准:正则表达式正则表达式(“37\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\; std::smatch m; 正则表达式搜索(s、m、正则表达式); std::cout,c++,regex,C++,Regex,您的在线正则表达式测试是错误的,因为您的实际文本是{“|1 |”:“A”,“|2 |”:“B”,“|37 |”:“4234235”,“|4 |”:“C”,您可能会看到您的正则表达式 此外,您正在std::regex中使用ECMAScript正则表达式,但您的正则表达式符合PCRE。例如,ECMAScript正则表达式不支持\K匹配重置运算符 您需要一个“\\\124; 37\”:“(\d+)regex,请参阅。详细信息: “\\\\\\\\”:“-文字“\\\\\\\”:“文本 (\d+)-第

您的在线正则表达式测试是错误的,因为您的实际文本是
{“|1 |”:“A”,“|2 |”:“B”,“|37 |”:“4234235”,“|4 |”:“C”
,您可能会看到您的正则表达式

此外,您正在
std::regex
中使用ECMAScript正则表达式,但您的正则表达式符合PCRE。例如,ECMAScript正则表达式不支持
\K
匹配重置运算符

您需要一个
“\\\124; 37\”:“(\d+)
regex,请参阅。详细信息:

  • “\\\\\\\\”:“
    -文字
    “\\\\\\\”:“
    文本
  • (\d+)
    -第1组:一个或多个数字
见:

#包括
#包括
int main(){
std::string s=“{\”|1 |\”:\“A\”,\“| 2 |\”:\“B\”,\“| 37 |\”:\“4234235\”,\“| 4 |\”:“C\”;

STD:CUT试图用正则表达式解析C++中的JSON格式化数据,结果只能是眼泪。要正确地做这件事。只需一个旁注:使用正则表达式的方式更容易,更容易编写和更好地阅读。但是,山姆是正确的,这是非常无用的。使用像NLHMMAN这样的JSON解析器库。就像我们尝试。使用正则表达式解析HTML: