2016-01-21 82 views
0
import re 

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

輸出爲:蟒蛇re.search匹配太多

' ["Size","Color"]' 

雖然這是我想要的答案,但我認爲它應該是:

' ["Size",' 

我百思不得其解對這個。有沒有人告訴我爲什麼?

回答

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

你需要量化你的量詞non greedy?(.*)使它可選。但它會消耗,直到最後,,因爲它是貪婪

+0

@vks:如果我很忙,請關閉這樣頻繁的模糊。 –

+0

@ olivetree123你不必對不起...只要接受它,如果它爲你工作 – vks

+0

問題*是*一個愚蠢的。 –