DOT的正则表达式

Joh*_*ohn 44 java regex

什么是正则表达式.和..?

if(key.matches(".")) {

do something 

}
Run Code Online (Sandbox Code Playgroud)

匹配接受String,要求正则表达式.现在我需要删除MAP中的所有DOT.

mik*_*kej 75

.匹配任何字符,因此需要转义\.,或者\\.在Java字符串中(因为\它本身在Java字符串中具有特殊含义.)

然后,您可以使用\.\.\.{2}精确匹配2个点.

  • 如上所述,`\ .`是正则表达式,但要在Java中为此表达式构造一个String,您将需要`\\.`因为\在Java字符串中用于\n,\ t等等.所以\\是在String中的文字\需要.另请注意,`String.matches`要求正则表达式匹配**整个**字符串.如果你想进行子串搜索,你需要使用`Matcher.find` (7认同)
  • 另外,您能否澄清一下要求.如果你只需要检查密钥是否包含一个点,那么你可以使用`key.contains`并且根本不需要regexp. (3认同)

Sac*_*hag 7

[+*?.] 大多数特殊字符在方括号内没有意义。此表达式匹配 +、*、? 或点。