的懶惰大家都知道,正則表達式引擎使用兩個規則當它有關的工作:正則表達式引擎的規則。貪婪,渴望和正則表達式
- 規則1:開頭最早的勝利或正則表達式 都渴望比賽。
- 規則2:正則表達式是貪婪的。
這些線出現在教程:
兩個這些規則齊頭並進。
它急於給你一個結果,所以它只是試圖讓 不斷讓第一個人做所有的工作。
雖然我們已經在它的中間,讓我們繼續前進,到達 結尾的字符串,然後當它不工作,然後它會 回溯並嘗試另一個。
它不會回溯到開始;它不嘗試其他組合的各種 。
它仍然渴望得到你的結果,所以它說,如果我只給了 回來一個?
請問我能給出一個結果嗎?
如果確實如此,那就很好了。它能夠在那裏完成。
它不需要在字符串中進一步追蹤回溯,看起來 爲某種更好的匹配或匹配的更進一步。
我不太明白這些行(特別是第二(「雖然我們是......」)和最後一個(「它不具備繼續回溯」)的句子)。
而這些行關於懶惰模式。
它仍然推遲到整個比賽就像貪婪的人做
- 清楚。
我不明白,以下類推:
這不一定是任何更快或更慢,選擇一個懶惰的策略或 貪婪的策略,但它可能會搭配不同的東西。
現在只要是快或慢,就好像是說,如果 你失去了你的車鑰匙和你的房子裏你的太陽鏡,是它 更好地開始尋找在廚房或開始尋找一點點在 客廳?
你不知道哪一個會產生最好的效果,而且你不知道哪個人先找到太陽鏡或者首先找到鑰匙 ;這只是關於開始搜索的不同策略。
所以你可能會得到不同的結果,具體取決於你從哪裏開始, ,但在一個地方或其他地方開始並不一定更快。
「更快或更慢」是什麼意思?
我要畫出它的工作原理(在這兩種情況下都是)。所以我會考慮這個問題,直到我發現這裏發生了什麼事情!) 我需要準確無誤地理解它。
謝謝。
http://stackoverflow.com/questions/2301285/what-do-lazy-and-greedy-mean-in-the-context-of-regular-expressions – 2014-10-03 14:51:21
*更快*和*更慢*這裏指的是性能,找到匹配的速度或失敗的速度。從你發佈的教程中,你正在閱讀的教程看起來不太好。我建議你看看更好的東西。 – Qtax 2014-10-03 15:28:05