{"total":0,"rows":[{"ROWNO":"1","家庭ID":"134116"}]} C++正则表达式取rows值
时间: 2023-09-02 18:14:15 浏览: 39
以下是使用 C++ 正则表达式取 rows 值的示例代码:
```c++
#include <iostream>
#include <regex>
#include <string>
int main() {
std::string input = R"({"total":0,"rows":[{"ROWNO":"1","家庭ID":"134116"}]})";
std::regex re(R"("rows":\[(.*)\])");
std::smatch matches;
if (std::regex_search(input, matches, re)) {
std::string rows_value = matches[1].str();
std::cout << rows_value << std::endl; // 输出:[{"ROWNO":"1","家庭ID":"134116"}]
} else {
std::cout << "No match" << std::endl;
}
return 0;
}
```
解释:
1. `input` 存储需要匹配的字符串。
2. `re` 存储正则表达式,其中 `(.*)` 匹配任意字符,使用 `\[(.*)\]` 可以匹配方括号内的字符串。
3. `std::regex_search` 函数用于查找匹配项,`matches` 存储匹配结果。
4. `matches[1].str()` 取出匹配到的第一个子表达式中的字符串,即 rows 值。
输出结果为 `[{"ROWNO":"1","家庭ID":"134116"}]`。