(胜博发娱乐手机版) c/c++有没有像python那样使用的正则库?
胜博发娱乐手机版
胜博发娱乐手机版
当前位置 : 胜博发娱乐手机版 > 胜博发娱乐手机版

(胜博发娱乐手机版) c/c++有没有像python那样使用的正则库?

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

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

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

GNU Regex Library
Boost.Regex
C++11 內建 regex

有啊,C和C++都行

include <regex.h>

include <sys/types.h>

可以
$ man regexec

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

data.txt

key:45679,key:7989,key:8797,key:13132,
#include<stdio.h>

int mainint argc, char *argv[] {    
    int a,b,c,d;
    FILE* fp = fopen"data.txt", "r";

    while fscanffp, "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

广告位

胜博发娱乐手机版