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
)
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 |