Makes sense.
Thank you both for clarifications!
Was only wondering if this feature is there so I could elegantly do equivalent of perl's (small 'a', anycase 'sd', small 'f'):
$,="\n";
my $testr='1asdf
2AsdF
3AsDF
4asDf
5aSDf
6aSdf
7ASdf
8Asdf';
my @res = $testr =~ /a(?i:sd)f/g;
print @res;
-----
asdf
asDf
aSDf
aSdf
Thank you,
Kind Regards
~Maciek
On 4 January 2016 at 03:58, Tom Lane <tgl@xxxxxxxxxxxxx> wrote:
matshyeq <matshyeq@xxxxxxxxx> writes:
> I can see postgresql claims to supports regular _expression_ flags:
Yup.
> What I find don't makes sense to me is that those flags could be used to
> switch on/off match feature locally as opposed to the whole regex (same as
> though flags parameters of regex functions).
Not all of them would make sense locally; in fact I'd venture that
case-sensitivity is the *only* flag that anyone would consider using
that way.
> Perl supports that locality while postgres documentation says:
> "*An ARE can begin with embedded options: a sequence (?xyz) (where xyz is
> one or more alphabetic characters) specifies options affecting the rest of
> the RE.
Right. It says "begin with" and it means "begin with".
We are not Perl and are not attempting to be bug-compatible with its regex
engine. If you want bug-compatibility, see PL/Perl.
regards, tom lane