瑣碎的正則表達式的問題(答案最有可能是針對Java):爲什麼這個正則表達式在Java中沒有像預期的那樣工作?
"#This is a comment in a file".matches("^#")
這返回false。據我所知,^
意味着它總是意味着什麼,並且#
沒有特別的意義,所以我會將^#
翻譯爲字符串開頭的「A'#」。應該匹配。所以它在Perl中有:
perl -e "print '#This is a comment'=~/^#/;"
打印「1」。所以我很確定答案是Java特定的。有人請賜教嗎?
謝謝。
這是正確的答案,謝謝。這是記錄在某處嗎?因爲我無法從String.matches的文檔中讀到這個:「判斷這個字符串是否與給定的正則表達式匹配。」聽起來不像你所描述的那樣。 – 0xCAFEBABE 2011-01-25 10:02:18
我一直理解「匹配」來暗示「整個輸入」,但我已經在上面添加了完整的解釋(以及如何找到它)。 – 2011-01-25 10:11:12
謝謝一堆。 – 0xCAFEBABE 2011-01-25 10:12:21