Java之正则表达式

 /*
  * 正则表达式对字符串的常见操作:
  * 1.匹配
  *
  * 2.切割
  *
  * 3.替换
  *
  * 4.获取:Pattern p = Pattern.compile("a*b");将正则表达式编译成正则对象
  * Matcher m = p.matcher("aaaaab");获取匹配器对象
  *boolean b = m.matches();使用匹配器对象中的方法对字符串进行各种正则操作

  */

(1)匹配

 public  static void function_1() {
     String st1="13582479936";
     String regex="1[358][0-9]{9}";//[0-9]可以换成d
     boolean b=st1.matches(regex);
     System.out.println("b="+b);
     }

 (2)切割

 public static void function_2() {
         String st1="cnitcttttttttastregxmmmmmmmdemo";//正則表達式中组的应用
         String regex="(.)\1+";
         String s[]=st1.split(regex);
         for(String str:s){
             System.out.println(str);
         }
     }

 (3)替换

     public static void function_3() {
         String str="13884589479";
         String regex="(\d{3})\d{4}(\d{4})";
         String strcopy=str.replaceAll(regex, "$1****$2");//捕获组与$符号的运用
         System.out.println(strcopy);
     }

 (4)获取

 public static void function_4() {
          String str="da jia hao,ming tian bu fang jia!";
          String regex="\b[a-z]{3}\b";//  边界符\b的运用
          //将正则封装成对象
          Pattern pattern=Pattern.compile(regex);
          //使用正则对象获取匹配器,将正则和字符串相关联
          Matcher m=pattern.matcher(str);
          //使用匹配器的方法对字符串进行操作
          while(m.find()){
             System.out.println(m.group());
         }
 }

本文为博主原创文章,转载请注明出处:http://www.cnblogs.com/ysw-go/
1、本博客的原创原创文章,都是本人平时学习所做的笔记,如有错误,欢迎指正。
2、如有侵犯您的知识产权和版权问题,请通知本人,本人会即时做出处理文章。
3、本博客的目的是知识交流所用,转载自其它博客或网站,作为自己的参考资料的,感谢这些文章的原创人员

原文地址:https://www.cnblogs.com/ysw-go/p/5340855.html