用cplusplus正则表达式从{"1":{"route_info_arr":[{"gateway":"110.110.110.254","ip":"110.110.110.101","netmask":"255.255.255.0"}]}}读出“1”
时间: 2023-09-03 19:10:46 浏览: 201
通过正则表达式验证IP和端口格式的正确性
可以使用以下代码来实现:
```cpp
#include <iostream>
#include <regex>
#include <string>
int main()
{
// 定义输入字符串
std::string input = "{\"1\":{\"route_info_arr\":[{\"gateway\":\"110.110.110.254\",\"ip\":\"110.110.110.101\",\"netmask\":\"255.255.255.0\"}]}}";
// 定义正则表达式
std::regex pattern("\\\"(\\d+)\\\"\\:");
// 进行正则匹配
std::smatch match;
if (std::regex_search(input, match, pattern))
{
// 输出匹配到的结果
std::cout << match[1] << std::endl;
}
return 0;
}
```
运行结果为:
```
1
```
这里使用的正则表达式是:`\"(\d+)\":`,意思是匹配一个被双引号包围的数字,并且这个数字后跟着一个冒号。使用 `std::regex_search` 函数进行正则匹配,并且提取第一个匹配到的子串,即为 `"1"` 中的数字部分。
阅读全文