有人可以讓我愚蠢的表達這個表達並提供這個表達的意義組合...我想我知道每個字符的意思是什麼,但它返回的是什麼(作爲一個完整的表達式)是我想用純樸簡單的英語來理解:)普通英語和簡單英語中[^ K] + name ?=([^'] *)的含義
[^ K] + name \?=([^'] *)
感謝
編輯:請參閱下面的圖片:
爲什麼它返回「name」(peterandjohn)的第二個實例而不是第一個「Mark = Scoobidooo」?
THX
EDIT2:
有人可以讓我愚蠢的表達這個表達並提供這個表達的意義組合...我想我知道每個字符的意思是什麼,但它返回的是什麼(作爲一個完整的表達式)是我想用純樸簡單的英語來理解:)普通英語和簡單英語中[^ K] + name ?=([^'] *)的含義
[^ K] + name \?=([^'] *)
感謝
編輯:請參閱下面的圖片:
爲什麼它返回「name」(peterandjohn)的第二個實例而不是第一個「Mark = Scoobidooo」?
THX
EDIT2:
發生這種情況,因爲 '+' 量詞是 「貪婪」 - 它會嘗試儘可能多的匹配因爲它可能可以(即使它已經找到匹配)在正則表達式的下一部分可以匹配之前。
在通俗地說,[^K]+
不會僅僅停留在
匹配 「輸出: '名=馬克= scobidoo'」,因爲 「名稱=馬克 ...?」
以下它也匹配由[^ K] +(請記住,您已將您的正則表達式區分大小寫,這就是爲什麼Mark中的'k'匹配[^K]+
)。 [^K]+
將終止在「輸出:'名稱?= peteandjohn'`」停止匹配,因爲這是我們仍然可以匹配其餘正則表達式的最後一個位置,即「name \?=([^'] *)」。
優秀的解釋!謝謝你跳槽..正是我在找什麼。乾杯!現在這裏又是一個轉折,如果我想確保只有第二個返回「peteandjohn」,那麼在上面的示例代碼中,正則表達式看起來像什麼?再次感謝... – user2957951
是不是當前的正則表達式返回第二個名字?或者你的意思是你想要返回第一個名字? –
你是對的,但讓我們說出於參數的緣故,MarK中的K是大寫,並且在名稱?=的兩個實例(外觀)中的所有代碼都是相同的嗎?是否存在光滑的方式來返回peteandjohn? (請參閱edit2下面的示例) – user2957951
正則表達式:[^K]+name\?=([^']*)
NODE EXPLANATION
--------------------------------------------------------------------------------
[^K]+ any character except: 'K' (1 or more times
(matching the most amount possible))
--------------------------------------------------------------------------------
name 'name'
--------------------------------------------------------------------------------
\? '?'
--------------------------------------------------------------------------------
= '='
--------------------------------------------------------------------------------
( group and capture to \1:
--------------------------------------------------------------------------------
[^']* any character except: ''' (0 or more
times (matching the most amount
possible))
--------------------------------------------------------------------------------
) end of \1
謝謝。正如我所提到的,我知道每個字符的含義,但是綜合表達式就是我努力想要理解的東西:(也許一個例子會幫助:)乾杯! – user2957951
查看上面的修改。我已經添加了一個例子.... – user2957951
http://www.regexper.com/#%5B%5EK%5D%2Bname%5C%3F%3D(%5B%5E'%5D*) – MarcinJuraszek
這有什麼用?該鏈接缺少關閉paren,只會產生一條錯誤消息。 – tripleee