Re: Regex "embedded options" does only work on the whole pattern?
От | matshyeq |
---|---|
Тема | Re: Regex "embedded options" does only work on the whole pattern? |
Дата | |
Msg-id | CAONr5=tdQZbG14HpXdgmu_iMvb682xWpwHtn2wv_cgX+fBeRAQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Regex "embedded options" does only work on the whole pattern? (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | 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 по дате отправления: