c/c++有没有像python那样使用的正则库?

之前使用python的时候用正则匹配字符
比如key:45679,key:7989,key:8797,key:13132,
这段字符串混杂在一个很大的字符串里面。
在py里我是patternPinId=re.compile('key:(.*?),')
这样就能得到返回的45679,7989,8797,13132

然后我昨天试了c/c++的一些正则
像上面的字符串按正则"key:(.*?)," 匹配之后 返回的是四组这样的数据key:45679,

那么c/c++有像python那种返回括号中匹配到的字符的正则用法吗?

慕标琳琳
浏览 662回答 5
5回答

一只甜甜圈

有啊,C和C++都行 include <regex.h> include <sys/types.h> 可以 $ man regexec

HUH函数

C++11标准库自带regex。用起来感觉和Python差不多。单纯看正则的话,Perl是最舒服的。

翻翻过去那场雪

data.txt key:45679,key:7989,key:8797,key:13132, #include<stdio.h> int main(int argc, char *argv[]) { int a,b,c,d; FILE* fp = fopen("data.txt", "r"); while (fscanf(fp, "key:%d,key:%d,key:%d,key:%d,", &a,&b,&c,&d) != EOF) { printf("data:%d, %d, %d, %d\n", a,b,c,d); } return 0; } 结果: data:45679, 7989, 8797, 13132
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python