regex - "+","[","]" in Regular expression did not take effect in Linux C -


i got program written in c language apply regular expression string.

however,it works regular expression

\\w ('\\' means single '\' in string).  \\w+ \\s+ \\s or [^\\s]+   did not take effect. 

it seems that,

"^","[","]","+"      

was not recognized program.

the program running format below:

./program {regular expression} 

then input line of string,the program apply regular expression string , give result.

i check program , have not found wrong.

/* function substring string */ static char* substr(const char*str,unsigned start, unsigned end) {   unsigned n = end - start;   static char stbuf[256];   strncpy(stbuf, str + start, n);   stbuf[n] = 0;   return stbuf; }  /* main program */ 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[10];   const size_t nmatch = 10;   /* complie regular expression*/   pattern = argv[1];   z = regcomp(&reg, pattern, cflags);   if (z != 0){   regerror(z, &reg, ebuf, sizeof(ebuf));    fprintf(stderr, "%s: pattern '%s' \n",ebuf, pattern);    return 1;   } /* line of input string */   while(fgets(lbuf, sizeof(lbuf), stdin))   {     ++lno;     if ((z=strlen(lbuf)) > 0 && lbuf[z-1] == '\n')     lbuf[z - 1] = 0;     /* match input line regular expression */     z = regexec(&reg, lbuf, nmatch, pm, 0);     if (z == reg_nomatch){printf("not match\n,pattern %s\n",pattern);      continue;}     else if (z != 0) {       regerror(z, &reg, ebuf, sizeof(ebuf));       fprintf(stderr, "%s: regcom('%s')\n", ebuf, lbuf);       return 2;     }  printf(" $%d='%s'\n", x, substr(lbuf, pm[x].rm_so, pm[x].rm_eo));};     }   }   /*releasing compiled regular expresion struct*/   regfree(&reg);  return 0; }     /* deal output result  */     (x = 0; x < nmatch && pm[x].rm_so != -1; ++ x)     {       if (!x) {printf("%04d: %s\n", lno, lbuf);        printf(" pattern %s",pattern);        printf(" $%d='%s'\n", x, substr(lbuf, pm[x].rm_so, pm[x].rm_eo));};     }   }   /*releasing compiled regular expresion struct*/   regfree(&reg);   return 0; } 


Comments

Popular posts from this blog

account - Script error login visual studio DefaultLogin_PCore.js -

xcode - CocoaPod Storyboard error: -