据我所知,.
是java正则表达式中的元字符。但是当我使用它如下:
String s = "1.2.3.4";
Pattern pattern = Pattern.compile("[\\.]");
我收到了IntelliJ IDEA的qazxsw poi警告。任何解释?
这是因为方括号。检查一下:
Redundant Character Escape
假
真正
假
Pattern pattern = Pattern.compile("[\\.]");
System.out.println(pattern.matcher("").find());
System.out.println(pattern.matcher(".").find());
System.out.println(pattern.matcher("a").find());
假
真正
假
如果您要使用方括号外的点,则需要使用转义来捕获点而不是任何字符。