python re.search匹配得太多了

时间:2016-01-21 08:42:46

标签: python regex

import re

text = '"dimensionsDisplay" : ["Size","Color"], '
r = '"dimensionsDisplay" :(.*)?,'
s = re.search(r,text)
print s.group(1)

输出是:

' ["Size","Color"]'

虽然这是我想要的答案,但我认为它应该是:

' ["Size",'

我对此感到困惑。有人告诉我为什么吗?

1 个答案:

答案 0 :(得分:0)

r = '"dimensionsDisplay" :(.*?),'

non greedy使其成为可选项后,您需要制作量词?(.*)。但它会消耗到最后,因为它是贪婪的