您的位置:首页 > 编程语言 > Java开发

java正则表达式 ^expr 和 [^expr] 和 ^[^expr]的比较

2016-10-24 11:04 351 查看
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 = ^Java

regex = [^Java]

regex = ^[^Java]

============
input = Java,
regex = ^Java
Java

regex = [^Java]

regex = ^[^Java]

============
input = Hello,
regex = ^Java

regex = [^Java]
H
e
l
l
o

regex = ^[^Java]
H
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: