之前使用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那种返回括号中匹配到的字符的正则用法吗?
5 回答
![?](http://img1.sycdn.imooc.com/533e4c1500010baf02200220-100-100.jpg)
翻翻过去那场雪
TA贡献2065条经验 获得超14个赞
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
添加回答
举报
0/150
提交
取消