Re: regex Quantifiers {m,n}, m can be negative, n greater than 255 - Mailing list pgsql-hackers

From Tom Lane
Subject Re: regex Quantifiers {m,n}, m can be negative, n greater than 255
Date
Msg-id 831833.1765468014@sss.pgh.pa.us
Whole thread Raw
In response to regex Quantifiers {m,n}, m can be negative, n greater than 255  (jian he <jian.universality@gmail.com>)
List pgsql-hackers
jian he <jian.universality@gmail.com> writes:
> select regexp_matches(E'abc', 'a{0,257}.');
> select regexp_matches(E'abc', 'a{-0,257}.');
> select regexp_matches(E'abc', 'a{-1,2}.');

> based on the manual description, the second and the third query should
> error out?

No.  Read

https://www.postgresql.org/docs/current/functions-matching.html#POSIX-ATOMS-TABLE

which says that '{'

    when followed by a character other than a digit, matches the
    left-brace character {; when followed by a digit, it is the
    beginning of a bound (see below)

So your second and third patterns are just literal matches, except
for the final '.'.

You can quibble about how bright that choice was, but I think it's
mandated by POSIX, not just something that Henry Spencer thought up.

            regards, tom lane



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Fix and improve allocation formulas
Next
From: Andres Freund
Date:
Subject: Re: [PATCH] Fix severe performance regression with gettext 0.20+ on Windows