有人可以解釋下面的正則表達式匹配什麼?
^.*$
謝謝!
有人可以解釋下面的正則表達式匹配什麼?
^.*$
謝謝!
要麼整個字符串或整行,這取決於是否multiline mode被使用。
一切。
^ is the beginning of the string.
. is any character.
* means 0 or more of said characters.
$ is the end of the string.
所以這個正則表達式匹配0個或更多的字符開始和結束一個字符串(這是一切)。
感謝您的解釋 – user73829 2010-08-10 14:24:10
+1爲一個很好的簡單解釋 – 2010-08-10 14:26:40
默認情況下,大多數正則表達式實現不會匹配DOT元字符的'\ r'和'\ n'。所以,不是「一切」。 – 2010-08-10 14:29:39
它會匹配任何東西。
^
表示該行的開始。 $
表示行結束。所以這意味着表達式必須匹配它傳遞的整個字符串。
.
將匹配任何單個字符。 *
意味着之前的東西可以出現在0到任意次數之間。所以這意味着字符串可以包含任意數量的字符,包括0.
它匹配所有空行和非空行。它可以被分解爲以下部分:
^ : match the beginning of the line
. : match any character except newline
* : match zero or many instances of the match
$ : match the ending of the line
^
=開始字符串或線的(取決於設置)。
.
=任何字符。
*
=上一個字符的任意數字。在這種情況下,.
。
$
=字符串或行結束(取決於設置)。
把它們放在一起,它可以匹配整個字符串或整行,具體取決於多行設置的內容(有關更多信息,請參閱this)。
它看起來像匹配包括空字符串在內的所有內容。 。*意味着它匹配所有(週期)0次或更多次(*)。 ^和$是多餘的,如果你已經設置了多線標誌(不知道它在java中是什麼)。
看起來好像在http://download-llnw.oracle.com/javase/1.5.0/docs/api/java/util/regex/Pattern.html中有詳細介紹。官方文件有什麼問題? – 2010-08-10 14:27:57