84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
我想实现的是查找满足正则条件的字符串,google了一下,发现都是用的boost中的函数,难道标准库中没有相关函数么?
在Linux下你可以很方便的使用regex.h提供的库。我先贴一段代码展示一下RE在C语言里是怎么用的 ,比较粗略点
#include<stdio.h> #include<sys/types.h> #include<regex.h> #include<memory.h> #include<stdlib.h> int main() { char *bematch = "hhhericchd@gmail.com"; char *pattern = "h{3,10}(.*)@.{5}.(.*)"; char errbuf[1024]; char match[100]; regex_t reg; int err,nm = 10; regmatch_t pmatch[nm]; if(regcomp(®,pattern,REG_EXTENDED) < 0){ regerror(err,®,errbuf,sizeof(errbuf)); printf("err:%s\n",errbuf); } err = regexec(®,bematch,nm,pmatch,0); if(err == REG_NOMATCH){ printf("no match\n"); exit(-1); }else if(err){ regerror(err,®,errbuf,sizeof(errbuf)); printf("err:%s\n",errbuf); exit(-1); } for(int i=0;i<10 && pmatch[i].rm_so!=-1;i++){ int len = pmatch[i].rm_eo-pmatch[i].rm_so; if(len){ memset(match,'\0',sizeof(match)); memcpy(match,bematch+pmatch[i].rm_so,len); printf("%s\n",match); } } return 0; }
我打算看看一个邮件地址是否匹配我所提供的pattern。这个邮件地址是 hhhericchd@gmail.com patern为
"h{3,10}(.*)@.{5}.(.*)"
你可以用linux自带的regex库。
貌似只有一些第三方的,微软有一个,boost的应该更通用一点吧.
pcre 是个著名的正则库. php就在用它
c++11的<regex>Eg:
#include <regex> #include <iostream> using namespace std; //匹配手机号码 int main() { regex reg; regex_constants::syntax_option_type fl = regex_constants::icase; reg.assign("\\b1[35][0-9]\\d{8}|147\\d{8}|1[8][01236789]\\d{8}\\b", fl); bool found1 = regex_match("13536921192", reg); cout<<found1<<endl; }
参见:http://www.codeceo.com/article/cpp11-regex-code.html
在Linux下你可以很方便的使用regex.h提供的库。我先贴一段代码展示一下RE在C语言里是怎么用的
,比较粗略点
我打算看看一个邮件地址是否匹配我所提供的pattern。这个邮件地址是
hhhericchd@gmail.com patern为
你可以用linux自带的regex库。
貌似只有一些第三方的,微软有一个,boost的应该更通用一点吧.
pcre 是个著名的正则库. php就在用它
c++11的<regex>
Eg:
参见:http://www.codeceo.com/article/cpp11-regex-code.html