Issue1456280
Created on 2006-03-22 17:34 by grafen, last changed 2022-04-11 14:56 by admin. This issue is now closed.
| Messages (3) | |||
|---|---|---|---|
| msg27847 - (view) | Author: Wolfgang Grafen (grafen) | Date: 2006-03-22 17:34 | |
Traceback error when compiling the following regular
expression. Error discovered with Python 2.4.2.
Used pre from python2.3 to check the validity of
re_fmt. With pre it works fine.
Question:
I submitted a sre error report before and I warned
to take off pre from the library. It is of advantage
to be able to check a failing re with pre. Personally
I feel sre has still too many bugs to completely
substitute pre.
Regards
Wolfgang Grafen
======================================================
chios scalar 582 % ./fmtscalar.py
Traceback (most recent call last):
File "./fmtscalar.py", line 21, in ?
re_fmt = re.compile(
File "/user/freepool/local/lib/python2.3/sre.py",
line 179, in compile
return _compile(pattern, flags)
File "/user/freepool/local/lib/python2.3/sre.py",
line 230, in _compile
raise error, v # invalid expression
sre_constants.error: nothing to repeat
---- cut here ----
#!/usr/bin/env python2.3
# -*- coding: Latin-1 -*-
import sre as re
re_fmt = re.compile(
"("
"%"
"(?P<precision>"
"\d+"
"(?:"
"[.]"
"\d+"
")"
")?"
"(?:"
"[(]"
"(?P<key>"
"[^)]*"
")?"
"[)]"
")?"
"(?P<c>[a-z])"
")"
)
a="%s"
b="aber%sxyz"
c="aber%3.1i"
c="aber%(quengel)s"
for i in a,b,c:
m = re_fmt.findall(i)
print i,m
---- cut here ---
|
|||
| msg27848 - (view) | Author: Georg Brandl (georg.brandl) * ![]() |
Date: 2006-06-01 13:46 | |
Logged In: YES user_id=849994 Duplicate of #214033. |
|||
| msg74684 - (view) | Author: Jeffrey C. Jacobs (timehorse) | Date: 2008-10-13 13:09 | |
This is another version of the redundant repeat issue defined in issues 2537 and 1633953 and although not described by the original report for issue 214033, the comments further down that issue also describe a similar situation. In this case, the problem arises from the '[(](?P<key>[^)]*)?[)]' portion of your regexp code because you have a zero-or-more repeat repeated zero-or-one times, which in the current version of python causes this error. Technically, the outer zero-or-one operator ('?') is redundant and you can eliminate it, but this IMHO should not cause the error listed below and I will look into a solution in issue 2636. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022-04-11 14:56:16 | admin | set | github: 43072 |
| 2008-10-13 13:09:07 | timehorse | set | messages: + msg74684 |
| 2008-09-28 19:36:07 | timehorse | set | nosy: + timehorse |
| 2007-09-10 20:59:40 | brett.cannon | set | superseder: re incompatibility in sre title: Traceback error when compiling Regex -> Traceback error when compiling Regex |
| 2006-03-22 17:34:26 | grafen | create | |
