summaryrefslogtreecommitdiffstats
path: root/Lib/sre_parse.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/sre_parse.py')
-rw-r--r--Lib/sre_parse.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/Lib/sre_parse.py b/Lib/sre_parse.py
index d358646..6411475 100644
--- a/Lib/sre_parse.py
+++ b/Lib/sre_parse.py
@@ -580,6 +580,8 @@ def _parse(source, state):
break
name = name + char
group = 1
+ if not name:
+ raise error("missing group name")
if not isname(name):
raise error("bad character in group name")
elif sourcematch("="):
@@ -592,6 +594,8 @@ def _parse(source, state):
if char == ")":
break
name = name + char
+ if not name:
+ raise error("missing group name")
if not isname(name):
raise error("bad character in group name")
gid = state.groupdict.get(name)
@@ -644,6 +648,8 @@ def _parse(source, state):
break
condname = condname + char
group = 2
+ if not condname:
+ raise error("missing group name")
if isname(condname):
condgroup = state.groupdict.get(condname)
if condgroup is None:
@@ -775,7 +781,7 @@ def parse_template(source, pattern):
break
name = name + char
if not name:
- raise error("bad group name")
+ raise error("missing group name")
try:
index = int(name)
if index < 0: