GNU bug report logs - #72850
Can't match ] in [ ] regexp bug?

Previous Next

Package: grep;

Reported by: Khoa Ton <khoa <at> puresynergy.com>

Date: Wed, 28 Aug 2024 07:01:02 UTC

Severity: normal

To reply to this bug, email your comments to 72850 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-grep <at> gnu.org:
bug#72850; Package grep. (Wed, 28 Aug 2024 07:01:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Khoa Ton <khoa <at> puresynergy.com>:
New bug report received and forwarded. Copy sent to bug-grep <at> gnu.org. (Wed, 28 Aug 2024 07:01:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Khoa Ton <khoa <at> puresynergy.com>
To: bug-grep <at> gnu.org
Subject: Can't match ] in [ ] regexp bug?
Date: Tue, 27 Aug 2024 23:02:04 -0700
I'm on Ubuntu:

$ uname -a
Linux nile 5.15.0-118-generic #128-Ubuntu SMP Fri Jul 5 09:28:59 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

I can't seem to get grep to match lines with ] in them when using [ ] expression.
grep only matches two characters string "\]" instead:

$ echo ']' | grep -E "[\]]" # supposed to return ] but doesn't
$ echo '\]' | grep -E "[\]]" # incorrectly matches '\]' but not ']'
\]

Possible grep bug:
grep doesn't seem to correctly handle escaped "\]" inside [ ] expressions.

Thank you,
Khoa




Information forwarded to bug-grep <at> gnu.org:
bug#72850; Package grep. (Wed, 28 Aug 2024 08:34:01 GMT) Full text and rfc822 format available.

Message #8 received at 72850 <at> debbugs.gnu.org (full text, mbox):

From: arnold <at> skeeve.com
To: khoa <at> puresynergy.com, 72850 <at> debbugs.gnu.org
Subject: Re: bug#72850: Can't match ] in [ ] regexp bug?
Date: Wed, 28 Aug 2024 02:32:12 -0600
Khoa Ton <khoa <at> puresynergy.com> wrote:

> I'm on Ubuntu:
>
> $ uname -a
> Linux nile 5.15.0-118-generic #128-Ubuntu SMP Fri Jul 5 09:28:59 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
>
> I can't seem to get grep to match lines with ] in them when using [ ] expression.
> grep only matches two characters string "\]" instead:
>
> $ echo ']' | grep -E "[\]]" # supposed to return ] but doesn't
> $ echo '\]' | grep -E "[\]]" # incorrectly matches '\]' but not ']'
> \]
>
> Possible grep bug:
> grep doesn't seem to correctly handle escaped "\]" inside [ ] expressions.
>
> Thank you,
> Khoa

Grep doesn't support backslash escapes inside [...] (although awk does).

The correct way to do this is to place the ] as the first character
inside the [...], like so:

$ echo ] | grep -E '[]]'
]

HTH,

Arnold




Information forwarded to bug-grep <at> gnu.org:
bug#72850; Package grep. (Thu, 29 Aug 2024 08:57:01 GMT) Full text and rfc822 format available.

Message #11 received at 72850 <at> debbugs.gnu.org (full text, mbox):

From: Khoa Ton <khoa <at> puresynergy.com>
To: arnold <at> skeeve.com, 72850 <at> debbugs.gnu.org
Subject: Re: bug#72850: Can't match ] in [ ] regexp bug?
Date: Thu, 29 Aug 2024 00:53:10 -0700
On 8/28/2024 1:32 AM, arnold <at> skeeve.com wrote:
> Khoa Ton <khoa <at> puresynergy.com> wrote:
> 
>> I'm on Ubuntu:
>>
>> $ uname -a
>> Linux nile 5.15.0-118-generic #128-Ubuntu SMP Fri Jul 5 09:28:59 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
>>
>> I can't seem to get grep to match lines with ] in them when using [ ] expression.
>> grep only matches two characters string "\]" instead:
>>
>> $ echo ']' | grep -E "[\]]" # supposed to return ] but doesn't
>> $ echo '\]' | grep -E "[\]]" # incorrectly matches '\]' but not ']'
>> \]
>>
>> Possible grep bug:
>> grep doesn't seem to correctly handle escaped "\]" inside [ ] expressions.
>>
>> Thank you,
>> Khoa
> 
> Grep doesn't support backslash escapes inside [...] (although awk does).
> 
> The correct way to do this is to place the ] as the first character
> inside the [...], like so:
> 
> $ echo ] | grep -E '[]]'
> ]
> 
> HTH,
> 
> Arnold
>

Thank you.

Khoa




This bug report was last modified 295 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.