正则表达式在java中的用法

/**
 * 测试正则表达式的基本用法

Pattern 和 Matcher
 * @author 小帆敲代码
 *
 */
public class Demo01 {
  public static void main(String[] args) {
   //准备正则表达式
   Pattern p=Pattern.compile("([a-z]+)([0-9]+)");
   //正则表达式和字符串关联
   Matcher m=p.matcher("aa34djsj22**djbjibij244");
   
   boolean yesorno=m.matches();//对整个字符串来说,是否匹配
   System.out.println(yesorno);
   
   while(m.find()) {//是否找得到下一个子字符串符合该正则表达式
    System.out.println(m.group());//捕获组,group(),group(0)表示找到的整个子字符串
    System.out.println(m.group(1));//捕获组1
    System.out.println(m.group(2));//捕获组2
   }
   
  }
}

/**
 * 字符串的分割+正则表达式
 * @author 小帆敲代码
 *
 */
public class Demo2 {
 public static void main(String[] args) {
  //分割字符串
   String str="a,b,c";
   String[] arry=str.split(",");
   System.out.println(Arrays.toString(arry));
   
   String str2="a2387488b48378c9832984";
   String[] array=str2.split("\d+");//一杠变两杠
   System.out.println(Arrays.toString(array));
  }
}

/**
 * 字符串的替换+正则表达式
 * @author 小帆敲代码
 *
 */
public class Demo3 {
  public static void main(String[] args) {
   //准备正则表达式
   Pattern p=Pattern.compile("[0-9]");
   //正则表达式和字符串关联
   Matcher m=p.matcher("aa34djsj22**djbjibij244");
   
   String newStr=m.replaceAll("#");
   System.out.println(newStr);
  }
}

原文地址:https://www.cnblogs.com/code-fun/p/11389640.html