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