Сравнить строку с составленным регулярным выражением
#include <regex.h>int regexec( const regex_t *preg,const char *string,size_t nmatch,regmatch_t *pmatch,int eflags );
regex_t
для регулярного выражения, которое необходимо выполнить. Необходимо скомпилировать выражение, вызвав regcomp().libc
Функция regexec() сравнивает string со скомпилированным регулярным выражением preg. Если regexec() находит совпадение, она возвращает ноль; в противном случае возвращается ненулевое значение.
Аргумент preg представляет собой скомпилированную форму базового регулярного выражения или расширенного регулярного выражения. Эти классы строго определены в IEEE P1003.2, Regular Expression Notation, и кратко описаны в документации к regcomp().
Функция regexec() записывает совпадения в массив pmatch, причем nmatch указывает максимальное количество совпадений для записи.
Смещения в pmatch[0] идентифицируют подстроку, соответствующую всему выражению, а смещения в pmatch[1 ... nmatch] идентифицируют подвыражения вплоть до nmatch. Неиспользуемые элементы массива pmatch устанавливаются в значение -1
.
![]() | Вы можете отключить запись подстрок, указав REG_NOSUB в regcomp() или установив для nmatch значение ноль. |
См. regcomp()
POSIX 1003.1
Henry Spencer / Berkeley.
regmatch_t, regcomp(), regerror(), regfree()
Предыдущий раздел: Описание API системной библиотеки