有人可以解释以下正则表达式匹配的内容吗?
^.*$
谢谢!
答案 0 :(得分:21)
整个字符串或整行,具体取决于是否使用multiline mode。
答案 1 :(得分:15)
一切。
^ is the beginning of the string.
. is any character.
* means 0 or more of said characters.
$ is the end of the string.
所以这个正则表达式匹配0个或更多字符,开始和结束一个字符串(这就是一切)。
答案 2 :(得分:2)
它匹配所有空行和非空行。它可以分为以下几部分:
^ : 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
答案 3 :(得分:1)
它会匹配任何东西。
^
表示该行的开头。 $
表示该行的结束。所以这意味着表达式必须匹配它传递的整个字符串。
.
将匹配任何单个字符。 *
表示它之前的东西可以出现在0到任意次数之间。所以这意味着字符串可以包含任意数量的字符,包括0。
答案 4 :(得分:1)
^
=字符串或行的开头(取决于设置)。
.
=任何角色。
*
=前一个字符的任意数字。在这种情况下,.
。
$
=字符串或行的结尾(取决于设置)。
将它们放在一起,它可以匹配整个字符串或整行,具体取决于多行设置(有关详细信息,请参阅this)。
答案 5 :(得分:0)
看起来它与所有东西相匹配......
答案 6 :(得分:0)
看起来它匹配包括空字符串在内的所有内容。 。*表示它匹配所有(句点)0次或更多次(*)。如果您设置了多行标志(不确定它在java中的含义),则^和$是多余的。