Hi,
I can see postgresql claims to supports regular _expression_ flags:
http://www.postgresql.org/docs/current/static/functions-matching.html#POSIX-EMBEDDED-OPTIONS-TABLE
which I suppose aims to be the equivalent of perl's
(?adluimsx-imsx:pattern)
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).
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. These options override any previously determined options — in particular, they can override the case-sensitivity behavior implied by a regex operator, or the flags parameter to a regex function.
"
Does that mean these "EMBEDDED OPTIONS" can be only defined at the beginning of the pattern and therefore don't offer anything extra over flags option?
By the looks of the table it seems postgres supports locality ("rest of RE" in description for b, e, q option)
I tried to switch case insensitieness with "(?i)" in the middle of the pattern but I'm getting:
********** Error **********
ERROR: invalid regular _expression_: quantifier operand invalid
SQL state: 2201B
When I do "(?i)" at the beginning of the pattern it works but then applies to the whole pattern.
Any ideas?
Thank you,
Kind Regards
~Msciwoj