從http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html:正則表達式中的 z和 Z有什麼區別,以及何時以及如何使用它?
\Z The end of the input but for the final terminator, if any
\z The end of the input
但到底是什麼在實踐中意味着什麼?你可以給我一個例子,當我使用\ Z或\ Z。
在我的測試中,我認爲"StackOverflow\n".matches("StackOverflow\\z")
將返回true,"StackOverflow\n".matches("StackOverflow\\Z")
返回false。但實際上兩者都返回假。錯誤在哪裏?
這並不奇怪(因爲我剛剛從接受的答案理解)作爲'\ z'只在字符串的「真實」的最終匹配。由於換行符,'StackOverflow'後你的字符串還沒有完成。 – maaartinus 2014-11-27 10:42:04