public class Main {private static String[] array = {"Jav", "Java", "Hello"}; public static void main(String[] args) {String[] regexs = {"^Java", // 以 Java开头的字符串"[^Java]",// 除了 J a v a 之外 的任何字符."^[^Java]"// 除了 J a v a 之外 的任何字符 并开头的字符.};int i = 0;for(String s: array) {System.out.println("\n============");System.out.print("input = " + s + ", ");for (int j = 0; j < regexs.length; j++) {System.out.println("\nregex = " + regexs[j]);Pattern pattern = Pattern.compile(regexs[j]);Matcher m = pattern.matcher(s);while(m.find()) {System.out.println(m.group());}}}}
}
// 运行结果 , 得出结果, 在[] 里面的 ^ 表示匹配字符,而在 [] 外面的 ^ 表示对一行的起始边界进行匹配。
============
input = Jav,
regex = ^Javaregex = [^Java]regex = ^[^Java]============
input = Java,
regex = ^Java
Javaregex = [^Java]regex = ^[^Java]============
input = Hello,
regex = ^Javaregex = [^Java]
H
e
l
l
oregex = ^[^Java]
H