java正则表达式学习
// //System.out.println(s.getBytes().length);//一个汉字一个长度// if(s.matches("\\w[\\w\u4e00-\u9fa5]{1,6}"))// System.out.println("true");; /* *匹配 */// //[abc] 匹配长度为1的字符串:a或b或c// System.out.println("abc".matches("[ab]"));//false// System.out.println("b".matches("[abc]"));//true// //比如验证qq号:长度为5-15的数字,首位不能是0 -----> [1-9][0-9]{4,14} /* *切割 */// String s="zhangsan,lisi,wangwu";// for(String str:s.split(","))// System.out.println(str);// // s="zhangsan lisi wangwu";// for(String str:s.split(" +"))// System.out.println(str);// // s="zhangsan.lisi.wangwu";// for(String str:s.split("\\."))//此处注意// System.out.println(str);// zhangsan// lisi// wangwu //为了可以让规则的结果被重用可以将规则封装成一个组,用()完成,组的出现都有 //编号,从1开始,0代表整个表达式,想要使用已有的组可以通过 \n(n就是组的编号)的形式来获取 // s="abcccdeffggggj";// for(String str:s.split("(.)\\1+"))//+ 1次或多次// System.out.println(str);//注意以下有空行//// ab//// de//////// j// System.out.println(s.replaceAll("(.)\\1+",""));//abdej// // /*// *替换 replaceAll();replace()不支持正则表达式// */// String s="abcccdeffggggj";//将重叠的字符换成单个字母zzzz->z $1获取前面的第一组// System.out.println(s.replaceAll("(.)\\1+", "$1"));//abcdefgj // // /*// *获取 符合规则的的子串// *1.将正则表达式封装成对象 Pattern// *2.让正则对象和要操作的字符串相关联// *3.关联后,获取正则匹配引擎// *4.通过引擎对符合规则的子串进行操作,比如取出// *// *String中的一些方法就是封装好上面的,但是功能较为单一// */// String s="hello ni hao piao liangabc";// String reg="[a-z]{3}";// Pattern pattern=Pattern.compile(reg);//封装成对象// Matcher match=pattern.matcher(s);//关联// // match.find();//boolean 相当于迭代器// System.out.println(match.group());//获取匹配后的结果 hel// // while(match.find()){// System.out.println(match.group());// //match.start();// //match.end();// }//// hao//// pia//// lia//// nga
TAG: