宝慕林4294392
正则表达式实际上不是ANSI C的一部分,听起来您可能在谈论POSIX正则表达式库,它附带了大多数(所有?)*nix。下面是一个在C中使用POSIX正则表达式的示例(基于这,这个):#include <regex.h> regex_t regex;int reti;char msgbuf[100];/* Compile regular expression */reti = regcomp(®ex, "^a[[:alnum:]]", 0);if (reti) {
fprintf(stderr, "Could not compile regex\n");
exit(1);}/* Execute regular expression */reti = regexec(®ex, "abc", 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);}/* Free memory allocated to the pattern buffer by regcomp() */regfree(®ex);或者,您可能想要退房。PCRE中与Perl兼容的正则表达式库。Perl语法与Java、Python和许多其他语言中使用的语法基本相同。POSIX语法是grep, sed, vi等