System.out.println("-----------?:测试--------------");
Pattern per1 = Pattern.compile("k(?:aa)");
Matcher mcer1 = per1.matcher("kkaab");
while (mcer1.find()) {
System.out.println(mcer1.group());
//匹配aab
}
System.out.println("-----------?=测试--------------");
per1 = Pattern.compile("k(?=aa)");
mcer1 = per1.matcher("kkaab");
while (mcer1.find()) {
System.out.println(mcer1.group());
//向后看0宽度匹配nAbcdef
}
System.out.println("-----------?!测试--------------");
per1 = Pattern.compile("k(?!aa)");
mcer1 = per1.matcher("kkaabaa");
while (mcer1.find()) {
System.out.println(mcer1.group());
//向后看0宽度匹配k
}
System.out.println("-----------?<=测试--------------");
per1 = Pattern.compile("(?<=aa)m");
mcer1 = per1.matcher("aamkb");
while (mcer1.find()) {
System.out.println(mcer1.group());
//向前看0宽度匹配
//m
}
System.out.println("-----------?<!测试--------------");
per1 = Pattern.compile("(?<!aa)k");
mcer1 = per1.matcher("aakkb");
while (mcer1.find()) {
System.out.println(mcer1.group());
//向前看0宽度匹配
//k
}
System.out.println("-----------?i和?-i测试--------------");
per1 = Pattern.compile(".(?i)abc(?-i)def");
mcer1 = per1.matcher("nnnnnnnnnnAbcdef");
while (mcer1.find()) {
System.out.println(mcer1.group());
//匹配nAbcdef
}
per1 = Pattern.compile("(?-i)abc(?i)def");
mcer1 = per1.matcher("AbcDef");
while (mcer1.find()) {
System.out.println(mcer1.group());
//不匹配
}
System.out.println("-----------贪婪和懒惰和固定测试--------------");
//Pattern p = Pattern.compile(".{3,10}[0-9]");//贪婪 0-10
//Pattern p = Pattern.compile(".{3,10}?[0-9]");//懒惰 0-5和0-10
Pattern p = Pattern.compile(".{3,10}+[0-9]");//固定 不匹配没有结果显示
String s = "aaaa5bbbb6";
Matcher m = p.matcher(s);
while(m.find())
System.out.println(m.start() + "-" + m.end());
Pattern per1 = Pattern.compile("k(?:aa)");
Matcher mcer1 = per1.matcher("kkaab");
while (mcer1.find()) {
System.out.println(mcer1.group());
//匹配aab
}
System.out.println("-----------?=测试--------------");
per1 = Pattern.compile("k(?=aa)");
mcer1 = per1.matcher("kkaab");
while (mcer1.find()) {
System.out.println(mcer1.group());
//向后看0宽度匹配nAbcdef
}
System.out.println("-----------?!测试--------------");
per1 = Pattern.compile("k(?!aa)");
mcer1 = per1.matcher("kkaabaa");
while (mcer1.find()) {
System.out.println(mcer1.group());
//向后看0宽度匹配k
}
System.out.println("-----------?<=测试--------------");
per1 = Pattern.compile("(?<=aa)m");
mcer1 = per1.matcher("aamkb");
while (mcer1.find()) {
System.out.println(mcer1.group());
//向前看0宽度匹配
//m
}
System.out.println("-----------?<!测试--------------");
per1 = Pattern.compile("(?<!aa)k");
mcer1 = per1.matcher("aakkb");
while (mcer1.find()) {
System.out.println(mcer1.group());
//向前看0宽度匹配
//k
}
System.out.println("-----------?i和?-i测试--------------");
per1 = Pattern.compile(".(?i)abc(?-i)def");
mcer1 = per1.matcher("nnnnnnnnnnAbcdef");
while (mcer1.find()) {
System.out.println(mcer1.group());
//匹配nAbcdef
}
per1 = Pattern.compile("(?-i)abc(?i)def");
mcer1 = per1.matcher("AbcDef");
while (mcer1.find()) {
System.out.println(mcer1.group());
//不匹配
}
System.out.println("-----------贪婪和懒惰和固定测试--------------");
//Pattern p = Pattern.compile(".{3,10}[0-9]");//贪婪 0-10
//Pattern p = Pattern.compile(".{3,10}?[0-9]");//懒惰 0-5和0-10
Pattern p = Pattern.compile(".{3,10}+[0-9]");//固定 不匹配没有结果显示
String s = "aaaa5bbbb6";
Matcher m = p.matcher(s);
while(m.find())
System.out.println(m.start() + "-" + m.end());