我似乎无法让正则表达式与以下示例一起使用。基本上我想从一个字符串中解析 4 个组,如下所示:
test.this
test[extra].this
test[extra].this{data}
test.this{data}
我想分别针对上面的示例得到这样的答案:
val1='test', val2=None, val3='this', val4=None
val1='test', val2='extra', val3='this', val4=None
val1='test', val2='extra', val3='this', val4='data'
val1='test', val2=None, val3='this', val4='data'
我尝试了这个,但它不起作用:
import re
tests = ["test.this",
"test[extra].this",
"test[extra].this{data}",
"test.this{data}",]
for test in tests:
m = re.match(r'^([^\[\.]+)(?:\[([^\]]+)])(?:\.([^{]+){)([^}]+)?$', test)
if m:
print(test, '->', m[1], m[2], m[3], m[4])
慕桂英4014372
慕少森
相关分类