Иллюстрированный самоучитель по PostgreSQL

Строковые операторы

Операторы регулярных выражений перечислены в табл. 5.2. Их операндами всегда являются строка с регулярным выражением и текст, в котором ищется совпадение (идентификатор или константа). Все операторы регулярных выражении возвращают результат логического типа, интерпретация которого зависит от специфики самого оператора.

Таблица 5.2. Операторы регулярных выражений.

Оператор Синтаксис Описание
~ ' строка' ~ ' выражение' Возвращает true, если в строке существует совпадение для регулярного выражения
\~ 'строка' \~ 'выражение' Возвращает true, если в строке нет совпадения для регулярного выражения
~* ' строка' ~* ' выражение' Возвращает true, если в строке существует совпадение для регулярного выражения (без учета регистра символов)
!~* 'строка'!~* 'выражение' Возвращает true, если в строке нет совпадения для регулярного выражения (без учета регистра символов)

В табл. 5.3 перечислены метасимволы регулярных выражений. Как было указано выше, в регулярных выражениях эти символы интерпретируются особым образом.

Таблица 5.3. Метасимволы регулярных выражений.

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

Примечание
Литералы, совпадающие с метасимволами из табл. 5.3, должны экранироваться в строке двумя символами \ (например, знак $ представляется последовательностью \\$)
.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.