首页 > 程序开发 > 软件开发 > Java >

java正则表达式学习

2012-04-14

// //System.out.println(s.getBytes().length);//一个汉字一个长度// if(s.matches("\\w[\\w\u4e00-\u9fa5]{1,6}"))// System.out.println("true");; /* *匹配 */// //[abc] 匹配长度为1的字符串:a或b或...

// //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


摘自 aijuans
相关文章
最新文章
热点推荐