#include <stdio.h>
#include <sys/types.h>
#include <regex.h>
/* 主程序 */
int main(int argc, char** argv)
{
char * pattern;
int x, z, lno = 0, cflags = 0;
char ebuf[128], lbuf[256];
regex_t reg;
regmatch_t pm[1];
const size_t nmatch = 1;
/* 编译正则表达式*/
pattern = argv[1];
z = regcomp(®, pattern, cflags);
if (z != 0){
regerror(z, ®, ebuf, sizeof(ebuf));
fprintf(stderr, "%s: pattern '%s' /n", ebuf, pattern);
return 1;
}
z = regexec(®, argv[2], nmatch, pm, 0);
if (z == REG_NOMATCH)
{
printf("no match/n");
}
else if (z != 0) {
regerror(z, ®, ebuf, sizeof(ebuf));
fprintf(stderr, "%s: regcom('%s')/n", ebuf, lbuf);
return 2;
}
else
{
printf("match=%d/n",z);
}
/* 释放正则表达式 */
regfree(®);
return 0;
}