[ python-Bugs-1058786 ] r'\10' as replacement pattern loops in compilation

SourceForge.net noreply at sourceforge.net
Wed Sep 14 11:34:25 CEST 2005


Bugs item #1058786, was opened at 2004-11-02 12:39
Message generated for change (Comment added) made by niemeyer
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1058786&group_id=5470

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Regular Expressions
Group: Python 2.3
>Status: Closed
>Resolution: Wont Fix
Priority: 5
Submitted By: Nick Maclaren (nmm1)
Assigned to: Gustavo Niemeyer (niemeyer)
Summary: r'\10' as replacement pattern loops in compilation

Initial Comment:
The following program loops under at least Solaris 9
on SPARC and Linux (kernel 2.6) in x86.  From
tracebacks, it seems to be in the internal compilation
of the pattern r'\10'.

from re import compile

line = ""

pat = compile(12 * r'(\d+)')

ltarget = float(pat.sub(r'\10',line))

print ltarget


----------------------------------------------------------------------

>Comment By: Gustavo Niemeyer (niemeyer)
Date: 2005-09-14 09:34

Message:
Logged In: YES 
user_id=7887

It's fixed in the 2.4+, and there's a workaround for
previous versions, so I'm closing that as wontfix for 2.3.


----------------------------------------------------------------------

Comment By: Reinhold Birkenfeld (birkenfeld)
Date: 2005-05-31 11:45

Message:
Logged In: YES 
user_id=1188172

Setting group to Python 2.3. If there won't be a 2.3.6 in
the future, it can be closed.

----------------------------------------------------------------------

Comment By: Nick Maclaren (nmm1)
Date: 2004-11-02 13:28

Message:
Logged In: YES 
user_id=652073

I have also checked, and it is fixed.  From my point of
view, it isn't worth backporting, as I can upgrade and don't
mind using a beta version.


----------------------------------------------------------------------

Comment By: Michael Hudson (mwh)
Date: 2004-11-02 13:07

Message:
Logged In: YES 
user_id=6656

It does seem to be fixed in 2.4, but not in 2.3(.3, anyway).

I know some of the re changes for 2.4 are fairly large, so I
don't know whether the fix is a backport candidate for
2.3.5.  Gustavo might know.

----------------------------------------------------------------------

Comment By: Johannes Gijsbers (jlgijsbers)
Date: 2004-11-02 13:07

Message:
Logged In: YES 
user_id=469548

I get the following on Python 2.4/Linux 2.6.8, so it does
seem to be fixed:

>>> from re import compile
>>> line = ""
>>> pat = compile(12 * r'(\d+)')
>>> ltarget = float(pat.sub(r'\10',line))
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
ValueError: empty string for float()

----------------------------------------------------------------------

Comment By: Fredrik Lundh (effbot)
Date: 2004-11-02 13:00

Message:
Logged In: YES 
user_id=38376

If you need a workaround for 2.2, use a sub callback:

http://effbot.org/zone/re-sub.htm#callbacks

----------------------------------------------------------------------

Comment By: Fredrik Lundh (effbot)
Date: 2004-11-02 12:58

Message:
Logged In: YES 
user_id=38376

Cannot check this right now, but I'm 99% sure that this has 
been fixed in 2.4.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1058786&group_id=5470


More information about the Python-bugs-list mailing list