Search Postgresql Archives

Re: Regex "embedded options" does only work on the whole pattern?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux