为什么方括号内的点与任何字符都不匹配?

yeg*_*256 9 java regex

为什么这个[.]+Java正则表达式与我的"foo"文本不匹配,而.+匹配完美(在这里测试)?

Rei*_*eus 23

[.]相当于逃避.(点)字符,即\\..

一旦角色出现在角色类中,它就会失去作为特殊角色的状态.

因为foo不包含任何点,所以没有任何匹配..+另一方面,是一个匹配所有内容的通配符贪婪表达式.

  • "请记住,点不是字符类中的元字符,所以我们不需要用反斜杠来逃避它." - [来源](http://www.regular-expressions.info/dot.html) (2认同)
  • @yegor256 括号的意思是“字符类”,它可以_包含_范围的字符,但大多数字符在字符类中按字面解释 - 除非它们自己被转义 - 我推荐 [regular-expressions.info](http://regular- expression.info)用于学习正则表达式(我从那里学到了大部分知识) (2认同)