码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式

时间:2016-04-28 18:15:15      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

public class RegularExpression {

    //字符串处理利器     //字符串查找,匹配,替换     //应该叫字符匹配     //parten//要符合的那种模式     //用这种模式匹配一个字符串后产生的结果     public static void main(String[] args) {         //一个点代表任何一个字符         /*p("abc".matches("..."));         //"\d"代表的是一位数字,两个反斜杠,一个代表转义字符         p("ab6878799999bf".replaceAll("\\d", "-"));         //把一个正则表达式编译一下,编译以后放到模式里面,pattern代表字符串要被匹配的一个模式         //我匹配一个具有三个字符的字符串,这三个字符是a-z中的某个字母 []代表范围         Pattern p = Pattern.compile("[a-z]{3}");         //match表示我去匹配某一个字符串,匹配的结果放大matcher中         Matcher m = p.matcher("abc");                 p(m.matches());*/                 //初步认识. * + ?         //a出现的次数是否为0个或多个         /*p("aaa".matches("a*"));         //a出现的次数为1个或多个         p("aaa".matches("a+"));         //a出现的次数为1个或0个         p("aaa".matches("a?"));         p("".matches("a*"));         p("".matches("a?"));*/                 //X{n} exactlly n times         //X{n,} at least n times         //X{n,m} at least n times,but not more than m times         /*p("2223434343436667".matches("\\d{3,100}"));         //.是转意字符要用\\.代替         p("192.168.0.aaa".matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\..{1,3}"));         p("192".matches("[0-2][0-9][0-9]"));*/         //中括号代表取这里面中的一个字符就可以了        /* p("a".matches("[abc]"));         //小尖括号表示除了abc之外的其他字符都可以         p("j".matches("[^abc]"));         p("A".matches("[a-zA-Z]"));         p("A".matches("[a-zA-Z]"));         //和上面的一样         p("A".matches("[a-z]|[A-Z]"));         p("A".matches("[a-z[A-Z]]"));         p("R".matches("[A-Z&&[RFG]]"));*/         //         //"\s"代表空白字符( \t(tab)\n\x0b(backspace)\f\r(enter)),\S代表取反 \D也一样         //\w 代表单词的字符,数字字母下划线[a-zA-Z_0-9]        /* p(" \n\r\t".matches("\\s{4}"));         p(" ".matches("\\S"));         p("a_8".matches("\\w{3}"));         p("abd888&^%".matches("[a-z]{1,3}\\d+[&#^%]+"));         p("\\".matches("\\\\"));                 //boundry                 p("hrifsff".matches("^h.*"));                 p("hellfo ir".matches(".*r$"));         //\b word boundry         p("hello ir".matches("^h[a-z]{1,3}o\\b.*"));         p(" \n".matches("^[\\s&&[^\\n]]*\\n$"));         //pratise                 p("aaa 8888c".matches(".*\\d{4}."));         p("aaa 8888c".matches(".*\\b\\d{4}."));*/                 String s = "12345-123-43-3456";         Pattern p = Pattern.compile("\\d{3,5}");         Matcher m = p.matcher(s);         //匹配整个字符串 //        p(m.matches()); //        m.reset();         //find sub string /*        p(m.find());         p(m.start()+" "+m.end());         p(m.find());         p(m.find());         p(m.find());*/         //looking at 每次都从头上开始找 //        p(m.lookingAt()); //        p(m.lookingAt()); //        p(m.lookingAt()); //        p(m.lookingAt());         /*        Pattern p1 = Pattern.compile("java",Pattern.CASE_INSENSITIVE);                 String _string = "java Java JAVA Ilove java You hate Java";         Matcher mm = p1.matcher(_string);*/         //        while(mm.find()) { //            p(mm.group()); //        } //        String _string1 = mm.replaceAll("JAVA"); //        p(_string1);         /*        StringBuffer buf = new StringBuffer();         int i = 0;         while(mm.find()) {             i++;             if(i%2 == 0) {                 mm.appendReplacement(buf, "****");             }             else {                 mm.appendReplacement(buf, "----");             }         }         mm.appendTail(buf);                 p(buf);*/                     //regular group (         Pattern p2 = Pattern.compile("(\\d{3,5})([a-z]{2})");         Matcher m2 = p2.matcher("12345fg--5456uu-234cc-00");         while(m2.find()) {             p(m2.group(2));         }     }         public static void p(Object o) {         System.out.println(o);     }

正则表达式

标签:

原文地址:http://www.cnblogs.com/zhangkefan/p/5443691.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!