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