java正则表达式学习
2012-04-13 21:45
411 查看
// //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
比如,网页爬虫:
//import java.io.BufferedReader; //import java.io.InputStreamReader; //import java.net.URL; //import java.net.URLConnection; //import java.util.regex.Matcher; //import java.util.regex.Pattern; // //public class Test { // // // public static void main(String[] args) throws Exception { // URL url=new URL("http://172.76.99.99/demo/index.jsp"); // URLConnection conn=url.openConnection(); // BufferedReader buf=new BufferedReader(new InputStreamReader(conn.getInputStream())); // String line=null; // String mailreg="\\w+@\\w+(\\.\\w+)+"; // Pattern p=Pattern.compile(mailreg); // // while((line=buf.readLine())!=null){ // Matcher m=p.matcher(line); // while(m.find()) // System.out.println(m.group()); // } // } // //}
相关文章推荐
- java学习笔记(六) -- 正则表达式
- Java 正则表达式学习总结和一些小例子
- java学习之正则表达式日记
- java学习之路----正则表达式----日期的补充
- java学习笔记之: 正则表达式基础
- java中常用的正则表达式学习
- JAVA学习笔记-----正则表达式
- java正则表达式 学习
- java正则表达式的学习
- java学习之正则表达式一
- java正则表达式学习
- 黑马程序员_java正则表达式学习
- 黑马程序员-Java基础学习-正则表达式
- Java-正则表达式的学习(Regex Expression)(一)
- java学习笔记-4 正则表达式
- 学习JAVA正则表达式基本用法
- java学习之正则表达式
- java正则表达式学习笔记(一)
- Java 正则表达式学习笔记
- java正则表达式学习二