diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2021-02-01 16:38:52 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2021-02-01 16:38:52 -0500 |
commit | 9522085ac917af66dba29939af328ae67300f10a (patch) | |
tree | 3fd7ae2655ab9ccf0fa85a161d4c27b3a86a1fe9 | |
parent | f003a7522bfa11177dc52c65eb97273a1057dfba (diff) | |
download | postgresql-9522085ac917af66dba29939af328ae67300f10a.tar.gz postgresql-9522085ac917af66dba29939af328ae67300f10a.zip |
Doc: work a little harder on the initial examples for regex matching.
Writing unnecessary '.*' at start and end of a POSIX regex doesn't
do much except confuse the reader about whether that might be
necessary after all. Make the examples in table 9.16 a tad more
realistic, and try to turn the next group of examples into something
self-contained.
Per gripe from rmzgrimes. Back-patch to v13 because it's easy.
Discussion: https://postgr.es/m/161215841824.14653.8969016349304314299@wrigleys.postgresql.org
-rw-r--r-- | doc/src/sgml/func.sgml | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index f30eaa3e4ba..081f04ce1a9 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -5329,7 +5329,7 @@ substring('foobar' similar '#"o_b#"%' escape '#') <lineannotation>NULL</linea String matches regular expression, case sensitively </para> <para> - <literal>'thomas' ~ '.*thom.*'</literal> + <literal>'thomas' ~ 't.*ma'</literal> <returnvalue>t</returnvalue> </para></entry> </row> @@ -5343,7 +5343,7 @@ substring('foobar' similar '#"o_b#"%' escape '#') <lineannotation>NULL</linea String matches regular expression, case insensitively </para> <para> - <literal>'thomas' ~* '.*Thom.*'</literal> + <literal>'thomas' ~* 'T.*ma'</literal> <returnvalue>t</returnvalue> </para></entry> </row> @@ -5357,8 +5357,8 @@ substring('foobar' similar '#"o_b#"%' escape '#') <lineannotation>NULL</linea String does not match regular expression, case sensitively </para> <para> - <literal>'thomas' !~ '.*thomas.*'</literal> - <returnvalue>f</returnvalue> + <literal>'thomas' !~ 't.*max'</literal> + <returnvalue>t</returnvalue> </para></entry> </row> @@ -5371,8 +5371,8 @@ substring('foobar' similar '#"o_b#"%' escape '#') <lineannotation>NULL</linea String does not match regular expression, case insensitively </para> <para> - <literal>'thomas' !~* '.*vadim.*'</literal> - <returnvalue>t</returnvalue> + <literal>'thomas' !~* 'T.*ma'</literal> + <returnvalue>f</returnvalue> </para></entry> </row> </tbody> @@ -5406,10 +5406,12 @@ substring('foobar' similar '#"o_b#"%' escape '#') <lineannotation>NULL</linea <para> Some examples: <programlisting> -'abc' ~ 'abc' <lineannotation>true</lineannotation> -'abc' ~ '^a' <lineannotation>true</lineannotation> -'abc' ~ '(b|d)' <lineannotation>true</lineannotation> -'abc' ~ '^(b|c)' <lineannotation>false</lineannotation> +'abcd' ~ 'bc' <lineannotation>true</lineannotation> +'abcd' ~ 'a.c' <lineannotation>true — dot matches any character</lineannotation> +'abcd' ~ 'a.*d' <lineannotation>true — <literal>*</literal> repeats the preceding pattern item</lineannotation> +'abcd' ~ '(b|x)' <lineannotation>true — <literal>|</literal> means OR, parentheses group</lineannotation> +'abcd' ~ '^a' <lineannotation>true — <literal>^</literal> anchors to start of string</lineannotation> +'abcd' ~ '^(b|c)' <lineannotation>false — would match except for anchoring</lineannotation> </programlisting> </para> |