Re: Regex "embedded options" does only work on the whole pattern? - Mailing list pgsql-general

From matshyeq
Subject Re: Regex "embedded options" does only work on the whole pattern?
Date
Msg-id CAONr5=tdQZbG14HpXdgmu_iMvb682xWpwHtn2wv_cgX+fBeRAQ@mail.gmail.com
Whole thread Raw
In response to Re: Regex "embedded options" does only work on the whole pattern?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
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@sss.pgh.pa.us> wrote:
matshyeq <matshyeq@gmail.com> 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

pgsql-general by date:

Previous
From: "Steve Petrie, P.Eng."
Date:
Subject: Re: Question -- Session Operations - Feasibility Of Proposed Synchronization Method?
Next
From: Michael Paquier
Date:
Subject: Re: Streaming replication stacked.