Ⅰ 有没有开源的c语言实现的正则表达式
正则表达式 是一门数学应用到计算机中的表达式。不是专属于哪种语言,现在各大主流语言都可以通过标准库 或者 模块 或者函数调用正则表达式。
包括 C C++ PYTHON ruby PHP ASP等等
下面贴出一段C语言 使用正则表达式的例子
1#include<stdio.h>
2#include<sys/types.h>
3#include<regex.h>
4#include<memory.h>
5#include<stdlib.h>
6
7intmain(){
8
9char*bematch="[email protected]";
10char*pattern="h{3,10}(.*)@.{5}.(.*)";
11charerrbuf[1024];
12charmatch[100];
13regex_treg;
14interr,nm=10;
15regmatch_tpmatch[nm];
16
17if(regcomp(®,pattern,REG_EXTENDED)<0){
18regerror(err,®,errbuf,sizeof(errbuf));
19printf("err:%s ",errbuf);
20}
21
22err=regexec(®,bematch,nm,pmatch,0);
23
24if(err==REG_NOMATCH){
25printf("nomatch ");
26exit(-1);
27}elseif(err){
28regerror(err,®,errbuf,sizeof(errbuf));
29printf("err:%s ",errbuf);
30exit(-1);
31}
32
33for(inti=0;i<10&&pmatch[i].rm_so!=-1;i++){
34intlen=pmatch[i].rm_eo-pmatch[i].rm_so;
35if(len){
36memset(match,'