Строковые операторы
Операторы регулярных выражений перечислены в табл. 5.2. Их операндами всегда являются строка с регулярным выражением и текст, в котором ищется совпадение (идентификатор или константа). Все операторы регулярных выражении возвращают результат логического типа, интерпретация которого зависит от специфики самого оператора.
Таблица 5.2. Операторы регулярных выражений.
| Оператор | Синтаксис | Описание |
|---|---|---|
| ~ | ' строка' ~ ' выражение' | Возвращает true, если в строке существует совпадение для регулярного выражения |
| \~ | 'строка' \~ 'выражение' | Возвращает true, если в строке нет совпадения для регулярного выражения |
| ~* | ' строка' ~* ' выражение' | Возвращает true, если в строке существует совпадение для регулярного выражения (без учета регистра символов) |
| !~* | 'строка'!~* 'выражение' | Возвращает true, если в строке нет совпадения для регулярного выражения (без учета регистра символов) |
В табл. 5.3 перечислены метасимволы регулярных выражений. Как было указано выше, в регулярных выражениях эти символы интерпретируются особым образом.
Таблица 5.3. Метасимволы регулярных выражений.
| Символ | Синтаксис | Описание |
|---|---|---|
| ~ | ~выражение | Соответствует началу строки |
| $ | выражение$ | Соответствует концу строки |
| . | . | Соответствует одному символу |
| [ ] | [abc] | Соответствует любому из символов, перечисленных в квадратных скобках |
| [ ' ] | ['abc] | Соответствует любому символу кроме символов, перечисленных в квадратных скобках |
| [-] | [a-z] | Соответствует любому символу из интервала, заданного в квадратных скобках |
| ['-] | ['a-z] | Соответствует любому символу кроме символов из интервала, заданного в квадратных скобках |
| ? | а? | Соответствует нулю экземпляров или одному экземпляру предшествующего символа или подвыражения |
| * | а* | Соответствует нулю экземпляров или произвольному количеству экземпляров предшествующего символа или подвыражения |
| + | а+ | Соответствует одному и более экземпляров предшествующего символа или подвыражения |
| | | выражение1 | выражение2 | Соответствует левому или правому подвыражению |
| () | (выражение1) выражение2 | Группировка подвыражений с явным определением приоритета выполняемых операций |
Примечание
Литералы, совпадающие с метасимволами из табл. 5.3, должны экранироваться в строке двумя символами \ (например, знак $ представляется последовательностью \\$).
