两者的概念并不冲突

一、前置概念

  1. .:匹配1个字符,不包括0个。
  2. *:限定前面的符号匹配 0 次到无穷次。*号是限定符,起限定前面值的作用,不能单独使用,前面必须要有其他值,如"abc".matches("*");会报错,原因是*号不能单独使用。

二、.*的含义

  • 首先,.代表匹配1个字符;*是限定符,表示限定前面的值匹配 0 次或多次。
  • 然后,当*号作用于前面的.号时,就相当于*号把.重复了 0 次或无穷次。
  • 所以.*的含义为:可以匹配长度任意的字符串(包括 0 个)。

更多推荐

Java中正则表达式 .* 的含义