Re: How best to work around the issue - regex string cannot contain brackets

From: Steve Midgley <science(at)misuse(dot)org>
To: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
Cc: Shaozhong SHI <shishaozhong(at)gmail(dot)com>, Christophe Pettus <xof(at)thebuild(dot)com>, pgsql-sql <pgsql-sql(at)lists(dot)postgresql(dot)org>
Subject: Re: How best to work around the issue - regex string cannot contain brackets
Date: 2022-02-04 17:29:53
Message-ID: CAJexoSLhiG210dVajgbkY9z1cH6xZ+vxEKthaZ+HnsTwCbUhqA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Fri, Feb 4, 2022 at 9:24 AM David G. Johnston <david(dot)g(dot)johnston(at)gmail(dot)com>
wrote:

> On Fri, Feb 4, 2022 at 10:14 AM Steve Midgley <science(at)misuse(dot)org> wrote:
>
>>
>>
>> On Fri, Feb 4, 2022 at 6:01 AM Shaozhong SHI <shishaozhong(at)gmail(dot)com>
>> wrote:
>>
>>> It appears that the following regex work differently.
>>>
>>> Why \d and [\d] are different?
>>>
>>> [A-PR-UWYZ]\d{1,2} and [A-PR-UWYZ][\d]{1,2}
>>>
>>
> Show your work!
>
>
>> But when you put characters into brackets, you are telling regex to
>> search for each character represented in the bracket. So [\d] is looking
>> for any single character that is either a \ or a d character. Outside of
>> brackets, regex evaluates \d as any digit.
>>
>
>
Apologies - I was relying on stackoverflow and my prior experiences with
regex engines that don't honor shorthand characters inside brackets. I
should have tested postgres latest before responding. Thanks for the
correction. (
https://stackoverflow.com/questions/46020936/perl-like-shorthand-character-class-not-working-inside-bracket-expression
)

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Shaozhong SHI 2022-02-15 07:21:08 Turn a json column into a table
Previous Message David G. Johnston 2022-02-04 17:24:24 Re: How best to work around the issue - regex string cannot contain brackets