编译正则表达式:发生成功错误

时间:2019-06-02 19:47:17

标签: c regex

我有这个简单的代码:

regex_t regex;
int re;
if ((re = regcomp(&regex, "^add:([a-zA-Z]{3,},{1}){2}(06)[0-9]{8},{1}([0-9]{10}),{1}([a-zA-Z0-9]+\\.?[a-zA-Z0-9]+)+@[a-zA-Z]+\\.[a-ZA-Z]+$", REG_EXTENDED))){
    printf("Result: %d ->", re);
    perror("Cannot compile because of");
    exit(EXIT_FAILURE);
}
if ((re = regcomp(&regex, "^remove:[a-zA-Z]{3,}$", REG_EXTENDED))){
    printf("Result: %d ->", re);
    perror("Cannot compile because of");
    exit(EXIT_FAILURE);
}

当我运行程序时,输出为:

Result: 11 -> Cannot compile because of: Success

它输入第一个if语句。但是,如果我仅在另一个文件中编写第一段代码(即第一段if和变量声明),则它可以工作。

我不明白我的代码有什么问题。

0 个答案:

没有答案