Простое сопоставление с образцом в C с использованием регулярных выражений POSIX - PullRequest
0 голосов
/ 11 октября 2019

Я пытаюсь реализовать базовый код сопоставления с образцом, используя библиотеку POSIX в C, чтобы сопоставить простые шаблоны, содержащие только символы подстановки "*". Однако сопоставление, похоже, не работает. Любые указатели были бы полезны.

// Example inStr: www.google.com  | pattern ***.google.com
static int isMatch(xmlChar*  pattern, char inStr[])
{
   regex_t regex;
   int reti;
   char msgbuf[100];

   reti = regcomp(&regex, pattern, 0);
   if (reti) {
       fprintf(stderr, "Could not compile regex\n");
       return 0;
   }
   /* Execute regular expression */
   reti = regexec(&regex, inStr, 0, NULL, 0);
   if (!reti) {
       return 1;
   }
   else if (reti == REG_NOMATCH) {
       return 0;
   }
   else {
       regerror(reti, &regex, msgbuf, sizeof(msgbuf));
       return 0;
   }
   regfree(&regex);
   return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...