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 по дате отправления:

Предыдущее
От: "Steve Petrie, P.Eng."
Дата:
Сообщение: Re: Question -- Session Operations - Feasibility Of Proposed Synchronization Method?
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: Streaming replication stacked.