package cm;
import java.util.Arrays;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class test20180425Regex {
public static void main(String[] args) {
Matcher m = Pattern.compile("([a-z]+)",Pattern.CASE_INSENSITIVE|Pattern.UNICODE_CASE).matcher("Bc a absd aaa a a a ");
//主要的匹配模式(选项):Pattern.CASE_INSENSITIVE|和Pattern.UNICODE_CASE联用忽略大小写。
// System.out.println(m.matches());//匹配器和字符串完全匹配,能返回true;
// System.out.println(m.lookingAt());//匹配器重字符串开头进行匹配,如果能匹配返回ture;
// System.out.println(m.groupCount());// 返回正则表达式有几个组,不包括0组。
//
// while (m.find()) {// find(int index)方法从待匹配的index索引处截取字串进行正则表达式的匹配。find()方法指针自动向后移动,如同迭代器一样。
// System.out.println("start:" + m.start());// .start属性代表find指针开始移动时指向字符串的索引。
//
// System.out.println(m.group(1));// group()方法代表正则表达式中有几个组。无参代表整个正则表达即0组。(a(bc))比如1代表参数(a(bc))组,2代表(bc)组
//
// System.out.println("end:" + m.end());// .end属性代表find指针移动后指向字符串的索引。
// }
//
// System.out.println(m.pattern().toString());// pattern返回m匹配器的模式,调用tostring方法输出正则表达式的字符串
//
// //正则表达式用于分割
// System.out.println(Arrays.asList(Pattern.compile(" ").split("a bs cc a")));
//
// //用于替换匹配到的第一个目标
// String s="bigseacoming good";
// s=s.replaceFirst(" {1,}", "_");//替换第一个空格为下划线
// System.out.println(s);
//
// //用于替换匹配到的所有目标
// String b="bigseacoming is very goob";
// b=b.replaceAll("[b]+", "B");//替换所有目标子字符串;
// System.out.println(b);
//
// //reset方法的使用
// Matcher ma=Pattern.compile("[a-z]+").matcher("who are you");
// ma.reset("who am i");//将匹配器的字符串重置为who am i
// ma.reset();//将匹配器设置到当前序列的开始状态。即start指向索引为0。
// while(ma.find()) {
// System.out.println(ma.group());
// }
// ma.reset();//这里的作用就是将find的指针重置为开始状态
// ma.find(0);//这里将find的指针指向0
// while(ma.find()) {
// System.out.println(ma.group());
// }
}
}
java正则表达式
最新推荐文章于 2024-06-03 08:55:36 发布