*
和.*
-
*
*
是一个量词,表示匹配前一个字符(或子表达式)0 次或多次。- 例如,正则表达式
a*
可以匹配空字符串、a
、aa
、aaa
等。 *
不能单独使用,必须跟在某个字符或子表达式后面。例如,a*
是合法的,但单独的*
是非法的。
-
.*
.
是一个特殊字符,表示匹配任意单个字符(除换行符外)。.*
表示匹配任意长度的任意字符(包括空字符串)。- 例如,正则表达式
.*
可以匹配任何字符串,如abc
、123
、 (空字符串)等。
区别:
*
是量词,用于匹配前一个字符的 0 次或多次重复。.*
是.
(任意字符)和*
(0 次或多次)的组合,表示匹配任意长度的任意字符。
示例:
- 正则表达式
a*
:匹配a
的 0 次或多次,如 (空字符串)、a
、aa
等。 - 正则表达式
.*
:匹配任意长度的任意字符,如abc
、123
、 (空字符串)等。