2014-02-10 47 views
0

[^Z]+slogan: "([^"]*)在Regex(Python)中這意味着什麼?它返回「人生之旅」[^ Z] +這在正則表達式(Python)中意味着什麼?

在這部分代碼:

< 0,byc:0,owlid:"cf",barca Ztry{if (!window.Cloud) {var Cloud=[{verbose:0,p:0,byc:0,owlid:"cf",bag2:1,mirage2:0,oracle:0,paths:{cloud:"/cbcex-cmi/nexp/dok7v=02fcfa4f56, slogan: "Life is too short" 
name="description" content="scream your longs out now." 
name="description slogan: "Life is a trip" selling real estate /> 

screenshot of matching http://imageshack.com/a/img607/3699/5l2n.png

我試圖理解爲什麼沒有返回「人生苦短」,第1口號實例:" .....???

它返回的是綠色,不是黃色。注意,有口號的兩個實例:「在代碼中,爲什麼沒有選擇第一個1,並返回‘人生苦短’仍是一頭霧水

謝謝

+0

閱讀關於貪婪匹配。 – Bergi

回答

0

編輯:?!正常的正則表達式返回最大長度重合,在這種情況下它不返回「...生命太短」,因爲它可以返回更長的東西

第一:[^ Z] + =「除Z以外的每個字符,至少一次(1次以上)「

然後它發現=口號:'

並以[^'] =「除」0次以上「以外的任何字符

結果類似於: (有些字符但不是Z)標語:」(其他字符或無,但不是「)

這就是爲什麼它在Z之後開始,並且在「(之後的口號:」)之前完成

+0

感謝tutrle!但我不確定我遵循你的邏輯!根據你的解釋,它應該返回Z之後和「之後的口號之前的所有內容,但它只返回」生命是一次旅行「!!!問題1:它是否使用」AND GATE「作爲它貫穿表達式?Question2。關於返回「最大長度巧合」的評論我從來沒有聽說過一個b4 !!但是如果第二個口號後的字符串長度等於第一個字符串的長度,那麼返回哪一個呢?問題3:這是否是正確的必須寫成這樣只有一個唯一的匹配?再次感謝教育 – user2957951

+1

這是一個有趣的工具,用於挖掘RegEx:http://regex101.com/r/fA5iC6 –

相關問題