我在讀Java中的正則表達式。而且我明白,佔有量詞不會回溯併發布角色,以便讓其他組達成匹配。 但我無法想象任何在現實中使用佔有量詞的情況。 我已經閱讀了一些資源,說由於所有格量詞不會回溯,他們不需要記住每個字符在輸入字符串中的位置,這有助於顯着提高正則表達式引擎的性能。 我已經通過編寫一個例子測試了這個:什麼是Java正則表達式中所有格量詞的用法?
我有一個字符串包含大約數千位數。
首先我定義了一個貪婪:String regex = "(\d+)";
然後我算花的時間。
二:我改變佔有慾:String regex = "(\d++)";
而且我算它花了時間,但我沒有看到在時間
我誤解的東西有什麼區別?
此外,任何人都可以給我一些使用佔有量詞的具體情況嗎?
關於術語:在書「Java Regular Expressions Taming the Java.Util.Regex Engine by Mehran Habibi
」中,他使用術語「possessive qualifiers
」,而我在互聯網上閱讀時,人們使用「Possessive quantifier
」。哪一個是正確的呢?
一個很好的[閱讀](http://www.rexegg.com/regex-quantifiers.html#possessive) – hwnd 2014-09-24 00:29:53
@hwnd感謝您的鏈接。非常有用 – adhg 2014-09-24 00:32:43
「量詞」是正確的詞;它會將*數量*方面添加到適用的任何內容中。哈比比書中充斥着sl termin的術語和徹頭徹尾的錯誤;我建議你把它扔掉,然後閱讀[Friedl](http://regex.info/book.html)。 [食譜](http://www.regular-expressions.info/cookbook.html)也很好。 – 2014-09-24 01:00:22