来自预定义字符的正则表达式程序 类

Regular Expression program from Predefined character classes

public class RegularExpressionDemo2 {

    public static void main(String[] args) {
        Pattern p = Pattern.compile("\.");
        Matcher m = p.matcher("a1b7 @z#");
        while (m.find()) {
            System.out.println(m.start() + "-------" + m.group());
        }
    }
}

docs开始,它说.符号打印任何字符然后上面的程序怎么不打印任何东西。

你两次转义了那个点。

这意味着您匹配的是文字点,而不是任何字符的通配符。

您的输入不包含任何内容,因此不会打印任何内容。

Pattern 更改为 "."