GNU bug report logs - #78940
REGEX wrongfully matches pattern

Previous Next

Package: sed;

Reported by: "Duchesne, Alexandre" <duchesne.alexandre.3 <at> courrier.uqam.ca>

Date: Wed, 2 Jul 2025 05:43:03 UTC

Severity: normal

Done: Jim Meyering <jim <at> meyering.net>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Jim Meyering <jim <at> meyering.net>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#78940: closed (REGEX wrongfully matches pattern )
Date: Thu, 03 Jul 2025 17:05:03 +0000
[Message part 1 (text/plain, inline)]
Your message dated Thu, 3 Jul 2025 10:03:54 -0700
with message-id <CA+8g5KFL_e9xu4U2Th_Nn_Tzuihks+mZMRU0G=bTdQK-Ds51_g <at> mail.gmail.com>
and subject line Re: bug#78940: REGEX wrongfully matches pattern
has caused the debbugs.gnu.org bug report #78940,
regarding REGEX wrongfully matches pattern 
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
78940: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=78940
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: "Duchesne, Alexandre" <duchesne.alexandre.3 <at> courrier.uqam.ca>
To: "bug-sed <at> gnu.org" <bug-sed <at> gnu.org>
Subject: REGEX wrongfully matches pattern 
Date: Tue, 1 Jul 2025 20:26:16 +0000
[Message part 3 (text/plain, inline)]
Hi,

I wanted to show to my classmate the comportment of a RegEX using sed to capture the subgroup in a pattern match.

But, when trying with sed -E, the pattern matched even though it should not have.

Can someone explain to me why if this comportment turns out to be normal ?

View snippet :

$ echo abc | grep -E '(...).+' -c
0
$ echo abc | sed -E 's/(...).+/\1/'
abc
$ sed --version
sed (GNU sed) 4.9
Packaged by Debian
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Jay Fenlason, Tom Lord, Ken Pizzini,
Paolo Bonzini, Jim Meyering, and Assaf Gordon.

This sed program was built with SELinux support.
SELinux is disabled on this system.

GNU sed home page: <https://www.gnu.org/software/sed/>.
General help using GNU software: <https://www.gnu.org/gethelp/>.
E-mail bug reports to: <bug-sed <at> gnu.org>.


Regards,

-Alexandre.


[Message part 4 (text/html, inline)]
[Message part 5 (message/rfc822, inline)]
From: Jim Meyering <jim <at> meyering.net>
To: Davide Brini <dave_br <at> gmx.com>
Cc: 78940-done <at> debbugs.gnu.org
Subject: Re: bug#78940: REGEX wrongfully matches pattern
Date: Thu, 3 Jul 2025 10:03:54 -0700
tags 78940 notabug
close 78940
stop

On Wed, Jul 2, 2025 at 6:27 AM Davide Brini via <bug-sed <at> gnu.org> wrote:
> On Tue, 1 Jul 2025 20:26:16 +0000, "Duchesne, Alexandre"
> <duchesne.alexandre.3 <at> courrier.uqam.ca> wrote:
>
> > Hi,
> >
> > I wanted to show to my classmate the comportment of a RegEX using sed to
> > capture the subgroup in a pattern match.
> >
> > But, when trying with sed -E, the pattern matched even though it should
> > not have.
> >
> > Can someone explain to me why if this comportment turns out to be normal ?
> >
> > View snippet :
> >
> > $ echo abc | grep -E '(...).+' -c
> > 0
> > $ echo abc | sed -E 's/(...).+/\1/'
> > abc
>
> This is all expected behavior. Your regexp does not match, no sostitution
> is performed, and sed prints the input line unchanged, which is the default
> behavior (disable with sed -n).

Thanks for replying. I've marked this issue as resolved and "not a bug".


This bug report was last modified 49 days ago.

Previous Next


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