diff options
| author | Guido van Rossum <guido@python.org> | 2003-04-14 17:59:34 +0000 | 
|---|---|---|
| committer | Guido van Rossum <guido@python.org> | 2003-04-14 17:59:34 +0000 | 
| commit | 41c99e7f96f7a0f192839801c568d8a80dcc7091 (patch) | |
| tree | 5733d278d932546d0b642dce7e631512da483f76 /Lib/sre_parse.py | |
| parent | 44c62ef5ee2d48cfa0bd024507f19e47d987e6b3 (diff) | |
| download | cpython-git-41c99e7f96f7a0f192839801c568d8a80dcc7091.tar.gz | |
SF patch #720991 by Gary Herron:
A small fix for bug #545855 and Greg Chapman's
addition of op code SRE_OP_MIN_REPEAT_ONE for
eliminating recursion on simple uses of pattern '*?' on a
long string.
Diffstat (limited to 'Lib/sre_parse.py')
| -rw-r--r-- | Lib/sre_parse.py | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/Lib/sre_parse.py b/Lib/sre_parse.py index 1b52967a58..fdf6767367 100644 --- a/Lib/sre_parse.py +++ b/Lib/sre_parse.py @@ -419,7 +419,7 @@ def _parse(source, state):                          set.append(code1)                          set.append((LITERAL, ord("-")))                          break -                    else: +                    elif this:                          if this[0] == "\\":                              code2 = _class_escape(source, this)                          else: @@ -431,6 +431,8 @@ def _parse(source, state):                          if hi < lo:                              raise error, "bad character range"                          set.append((RANGE, (lo, hi))) +                    else: +                        raise error, "unexpected end of regular expression"                  else:                      if code1[0] is IN:                          code1 = code1[1][0]  | 
