8
爲什麼這個[.]+
Java正則表達式與我的"foo"
文本不符,而.+
完全匹配(測試here)?爲什麼方括號內的點不匹配任何字符?
爲什麼這個[.]+
Java正則表達式與我的"foo"
文本不符,而.+
完全匹配(測試here)?爲什麼方括號內的點不匹配任何字符?
[.]
等同於逃避.
(點)字符,即\\.
。
一旦角色出現在character class中,它將失去其作爲特殊角色的地位。因爲foo
不包含任何點,所以沒有任何匹配。另一方面,.+
是一個匹配所有內容的通配符貪婪表達式。
你有這個鏈接嗎?我總是使用方括號來表示範圍,而不是用於轉義。 – yegor256 2013-02-28 15:35:42
「請記住,點不是字符類中的元字符,所以我們不需要用反斜槓來轉義它。」 - [source](http://www.regular-expressions.info/dot.html) – zb226 2013-02-28 15:38:09
http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html – 2013-02-28 15:38:25