diff --git a/parse.py b/parse.py index bbc999b..cf09481 100644 --- a/parse.py +++ b/parse.py @@ -476,7 +476,11 @@ def _expand_named_fields(self, named_fields): result = {} for field, value in named_fields.items(): # split 'aaa[bbb][ccc]...' into 'aaa' and '[bbb][ccc]...' - basename, subkeys = re.match(r'([^\[]+)(.*)', field).groups() + n = field.find('[') + if n == -1: + basename, subkeys = field, '' + else: + basename, subkeys = field[:n], field[n:] # create nested dictionaries {'aaa': {'bbb': {'ccc': ...}}} d = result