The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/13/functions-matching.html
Description:

In the table for the ~ (and friends) operator, every example has a pointless
set of '.*' surrounding the text to be matched. These unnecessary operators
add visual clutter making the examples both harder to read and understand,
and since they're official examples, they teach bad habits.

That is to say, 'thomas' ~ 'thom' is the exact same regex as 'thomas' ~
'.*thom.*' but the first is shorter, easier to read and easier to
understand, and, presumably, faster as well.

Operator

Description

Example(s)

text ~ text → boolean

String matches regular expression, case sensitively

'thomas' ~ '.*thom.*' → t

text ~* text → boolean

String matches regular expression, case insensitively

'thomas' ~* '.*Thom.*' → t

text !~ text → boolean

String does not match regular expression, case sensitively

'thomas' !~ '.*thomas.*' → f

text !~* text → boolean

String does not match regular expression, case insensitively

'thomas' !~* '.*vadim.*' → t

Reply via email to