1
我正在处理涉及正则表达式的项目。这是我(在C)的代码:C中的正则表达式无法正常工作
#include <stdio.h>
#include <regex.h>
#include <stdlib.h>
int main(int argc, const char * argv[])
{
regex_t regex;
int reti;
char msgbuf[100];
/* Compile regular expression */
reti = regcomp(®ex, "[0-9]+", 0);
/* Execute regular expression */
reti = regexec(®ex, "3", 0, NULL, 0);
if(!reti){
puts("Match");
}
else if(reti == REG_NOMATCH){
puts("No match");
}
else{
regerror(reti, ®ex, msgbuf, sizeof(msgbuf));
fprintf(stderr, "Regex match failed: %s\n", msgbuf);
exit(1);
}
regfree(®ex);
return 0;
}
我试图用各种正则表达式使用,但主要是他们都没有工作。例如,正则表达式\d
不起作用,所以我必须使用[0-9]
。此外+
正则表达式不工作,我需要它,因为我必须匹配一个或多个数字。
我使用的是Mac OS X,如果有人可以帮忙请做。提前致谢。