aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2021-02-01 16:38:52 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2021-02-01 16:38:52 -0500
commitdae5af6c19f20d954179df5e15afa649fbabb101 (patch)
tree7e6fd4237e3c42d8fafd107c4226a48e4ff0a107
parentd798ea750d22ee4f546c5a4521f957ca610de5b1 (diff)
downloadpostgresql-dae5af6c19f20d954179df5e15afa649fbabb101.tar.gz
postgresql-dae5af6c19f20d954179df5e15afa649fbabb101.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.sgml22
1 files changed, 12 insertions, 10 deletions
diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml
index 6f1133365b8..2f4a5904e10 100644
--- a/doc/src/sgml/func.sgml
+++ b/doc/src/sgml/func.sgml
@@ -5266,7 +5266,7 @@ substring('foobar' from '#"o_b#"%' for '#') <lineannotation>NULL</lineannotat
String matches regular expression, case sensitively
</para>
<para>
- <literal>'thomas' ~ '.*thom.*'</literal>
+ <literal>'thomas' ~ 't.*ma'</literal>
<returnvalue>t</returnvalue>
</para></entry>
</row>
@@ -5280,7 +5280,7 @@ substring('foobar' from '#"o_b#"%' for '#') <lineannotation>NULL</lineannotat
String matches regular expression, case insensitively
</para>
<para>
- <literal>'thomas' ~* '.*Thom.*'</literal>
+ <literal>'thomas' ~* 'T.*ma'</literal>
<returnvalue>t</returnvalue>
</para></entry>
</row>
@@ -5294,8 +5294,8 @@ substring('foobar' from '#"o_b#"%' for '#') <lineannotation>NULL</lineannotat
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>
@@ -5308,8 +5308,8 @@ substring('foobar' from '#"o_b#"%' for '#') <lineannotation>NULL</lineannotat
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>
@@ -5343,10 +5343,12 @@ substring('foobar' from '#"o_b#"%' for '#') <lineannotation>NULL</lineannotat
<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 &mdash; dot matches any character</lineannotation>
+'abcd' ~ 'a.*d' <lineannotation>true &mdash; <literal>*</literal> repeats the preceding pattern item</lineannotation>
+'abcd' ~ '(b|x)' <lineannotation>true &mdash; <literal>|</literal> means OR, parentheses group</lineannotation>
+'abcd' ~ '^a' <lineannotation>true &mdash; <literal>^</literal> anchors to start of string</lineannotation>
+'abcd' ~ '^(b|c)' <lineannotation>false &mdash; would match except for anchoring</lineannotation>
</programlisting>
</para>