Роббинс Арнольд
Шрифт:
12.8. Регулярные выражения
Регулярные выражения являются способом описания текстовых шаблонов для сопоставления. Если вы вообще сколько-нибудь использовали GNU/Linux или Unix, вы без сомнения знакомы с регулярными выражениями: они являются фундаментальной частью инструментария программиста Unix. Они неотъемлемы от таких повседневных программ, как
POSIX определяет два вида регулярных выражений: базовый и расширенный. Программы типа
Чтобы сопоставить регулярное выражение, нужно сначала откомпилировать строчную версию регулярного выражения. Компиляция преобразует регулярное выражение во внутренний формат. Затем откомпилированная форма исполняется для строки для проверки, совпадает ли она с первоначальным регулярным выражением. Функции следующие.
Компилирует регулярное выражение
Выполняет откомпилированное регулярное выражение в
Преобразует ошибку, возвращенную
Освобождает динамическую память, используемую откомпилированным регулярным выражением в
Заголовочный файл
Таблица 12.7. Флаги для
Константа | Значение |
---|---|
REG_EXTENDED | Использовать расширенные регулярные выражения. По умолчанию используются базовые регулярные выражения |
REG_ICASE | Сопоставление regexec игнорирует регистр символов |
REG_NEWLINE | Операторы, заменяющие любой символ, не включают символ конца строки |
REG_NOSUB | Информация о начале и конце вложенною шаблона не требуется (см текст) |