From: Tom Lane Date: Mon, 13 Aug 2007 01:18:47 +0000 (+0000) Subject: Document that the regexp split functions ignore zero-length matches in X-Git-Tag: REL8_3_BETA1~353 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a44af6df859f38247317d1714c2d941961e42919;p=postgresql Document that the regexp split functions ignore zero-length matches in certain corner cases. Per discussion, the code does what we want, but it really needs to be documented that these functions act differently from regexp_matches. --- diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index 4e5f8f1148..52858efc60 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -1,4 +1,4 @@ - + Functions and Operators @@ -3383,10 +3383,12 @@ SELECT foo FROM regexp_split_to_table('the quick brown fox', E'\\s*') AS foo; - PostgreSQL's regular expressions are implemented - using a package written by Henry Spencer. Much of - the description of regular expressions below is copied verbatim from his - manual entry. + As the last example demonstrates, the regexp split functions ignore + zero-length matches that occur at the start or end of the string + or immediately after a previous match. This is contrary to the strict + definition of regexp matching that is implemented by + regexp_matches, but is usually the most convenient behavior + in practice. Other software systems such as Perl use similar definitions. @@ -3394,6 +3396,13 @@ SELECT foo FROM regexp_split_to_table('the quick brown fox', E'\\s*') AS foo; Regular Expression Details + + PostgreSQL's regular expressions are implemented + using a package written by Henry Spencer. Much of + the description of regular expressions below is copied verbatim from his + manual entry. + + Regular expressions (REs), as defined in POSIX 1003.2, come in two forms: