我正在 4 Macbook 上测试以下代码。所有的 Macbook 都是最新的,其中 3 个是 10.8.4,它工作正常,但在我的 Macbook 上却不行,我开始发疯了。我不知道该怎么办了。
include <regex.h>
...
regex_t re;
char msgbuf[256]
int reti;
reti = regcomp( &re, ".*\\.xml", REG_EXTENDED | REG_NOSUB);
if( reti )
printf("Could not compile regex : %d\n", reti);
reti = regexec (&re, "a.xml", 0, 0, 0) ;
if( !reti )
puts("Match");
else if( reti == REG_NOMATCH )
puts("No match");
else{
regerror(reti, &re, msgbuf, sizeof(msgbuf));
fprintf(stderr, "Regex match failed: %s\n", msgbuf);
}
这是输出:
Could not compile regex : 16
Regex match failed: invalid regular expression
我在所有 Macbook avec pcre 8.33 上都有 perl 5.12 我什至将 libpcre* 从工作的 macbook /usr/lib 复制到我的 /usr/lib 它不起作用
我重新安装了pcre
我尝试了几种表达式,甚至是简单的“.*”,答案总是:无效的正则表达式和 regcomp 的错误代码:16
有没有人有任何新的想法?