我有以下正则表达式:
%{(?:property)[:](?P<property>.+?)[=](?P<value>.+?)}
我匹配输入字符串:
%{property:PROPERTY.NAME=VALUE}
我检查这个正则表达式的每个测试人员都能正常工作,我可以看到相应的组。不是在python中,不是。在python中,我得到了以下组的元组:
(PROPERTY.NAME, VALUE)
以下是代码:
import re
matcher = re.compile(r"%{(?:property)[:](?P<property>.+?)[=](?P<value>.+?)}", re.IGNORECASE)
match = re.match(matcher, "%{property:PROPERTY.NAME=VALUE}")
if match:
print(match)
输出是:
(PROPERTY.NAME, VALUE)
我甚至在Perl中尝试过这个正则表达式,它给出了正确的结果。我的python版本是3.4.4。
@Edit: https://regex101.com/r/knLFiJ/1/
如果我现在试着打电话:match.group(&#39; property&#39;)我得到一个没有这样的组错误......但是任何其他的地方组都很好......