linux 操作正则表达式

#include
#include
#include

/* 主程序 */
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;
}

你可能感兴趣的:(linux 操作正则表达式)