我有這個代碼匹配的IP地址模式。但它似乎沒有工作,我不知道爲什麼。它始終打印在終端上「不匹配」POSIX正則表達式不編譯
regex_t regex;
int reti;
char msgbuf[100];
reti = regcomp(®ex, "^([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})$", 0);
if (reti) {
fprintf(stderr, "Could not compile regex\n");
exit(1);
}
reti = regexec(®ex, "124.168.21.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);
任何想法?
不,它並沒有解決問題,我在終端上仍然有一個「不匹配」的信息。 – TheForbidden 2013-03-21 09:17:42