我正在使用 python 3.4.1 版本,但我不明白以下正则表达式的结果:
import re
print(re.match("\[{E=(.*?),Q=(.*?)}\]","[{E=KT,Q=P1.p01},{E=KT2,Q=P2.p02}]").groups())
('KT', 'P1.p01},{E=KT2,Q=P2.p02')
我希望结果是
('KT', 'P1.p01')
但显然是第二个。*?“吃掉”所有字符,直到最后的“}]”。我希望停在第一个 '}" 字符处。
如果我省略了 '[' 和 ']' 字符,则行为如我所料:
print(re.match("{E=(.*?),Q=(.*?)}","{E=KT,Q=P1.p01},{E=KT2,Q=P2.p02}").groups())
('KT', 'P1.p01')