C программа для использования библиотеки регулярных выражений (regex.h) - PullRequest
0 голосов
/ 04 мая 2020

Я пишу программу C для фильтрации только тех сообщений, которые поступают с верхних уровней моего программного обеспечения и имеют совпадающие значения для указанных полей c. Я использую следующий код. Как я могу предоставить выражение регулярного выражения для соответствия нескольким шаблонам. А также, если подстрока соответствует какому-либо из шаблонов, то я хочу сравнить ее со значением, равным указанному значению (строка, указанная пользовательским вводом), перед ним и посчитать такие экземпляры. Скажем, в следующем коде:

#define MAXMATCH 100
char *bytes=??? [ Regex expression to match for bytes: or bytes= or bytes( or bytes < ] 
i.e bytes=255 or bytes:255 or bytes<255> etc

regex_t compiled;
regmatch_t matches[MAXMATCH];
int count  = 0;
regcomp(&compiled, bytes, REG_EXTENDED);
if(regexec(&compiled, bytes, 100, matches, 0)==0){
   for (i=0; i<MAXMATCH; i++) {
        if ((int)matches[i].rm_so < 0) 
            continue;
        else {
           //to do.
           if bytes=<user input value> or bytes:<user input value> etc..
           count++;
        }
    }
}

Как я могу указать выражение регулярного выражения для соответствия "bytes:" или "bytes =" или "bytes (" или "bytes <" и проверить, имеет ли оно «пользовательское значение ввода» после него. </p>

...