用C++正则表达式按“,”匹配 +CGDCONT: 1,"IPV4V6","cmnet","",0,0,0,0,,,,,,0,,,0,,0,0,0,0
时间: 2023-10-01 17:04:42 浏览: 54
在C++中,你可以使用标准库中的`std::regex`来按逗号匹配字符串。下面是一个示例代码,用于按逗号分割匹配字符串`"+CGDCONT: 1,\"IPV4V6\",\"cmnet\",\"\",0,0,0,0,,,,,,0,,,0,,0,0,0,0"`:
```cpp
#include <iostream>
#include <regex>
#include <string>
int main() {
std::string input = "+CGDCONT: 1,\"IPV4V6\",\"cmnet\",\"\",0,0,0,0,,,,,,0,,,0,,0,0,0,0";
std::regex pattern(",");
std::sregex_token_iterator iter(input.begin(), input.end(), pattern, -1);
std::sregex_token_iterator end;
while (iter != end) {
std::cout << *iter << std::endl;
++iter;
}
return 0;
}
```
在上述代码中,正则表达式`,`表示匹配逗号。`std::sregex_token_iterator`迭代器用于按逗号分割字符串,并将分割结果作为迭代器的值进行输出。通过迭代输出,可以得到按逗号分割后的各个子串。
输出结果为:
```
+CGDCONT: 1
"IPV4V6"
"cmnet"
""
0
0
0
0
0
0
0
0
0
```
你可以根据需要进一步处理每个子串或调整代码以满足你的需求。注意,如果你的字符串中存在逗号之间的空字段,它们也会被匹配并输出。