Компиляция регулярного выражения: произошла ошибка - PullRequest
0 голосов
/ 02 июня 2019

У меня есть этот простой код:

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 и объявление переменных) в другом файле, это сработает.

Я не понимаю, что не так в моем коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...