java语言基础(60)——java正则表达式基础使用

来源:互联网 发布:lol解说jy淘宝店 编辑:程序博客网 时间:2024/06/16 09:23

正则表达式各种语言通用,但不同的语言又有细微的区别。所以我们在用正则表达式的时候,一定要仔细了解当前语言中正则的规则。java中 java.util.regex包中的Pattern类说明了java语言中正则的细节。

正则表达式的应用:

判断  matches

分割  split

替换  replaceAll

获取  Pattern 与 Matcher合用

package patternDemo;import java.util.regex.Matcher;import java.util.regex.Pattern;class PatternDemo{public static void main(String[] args){// 匹配判断 matches   String reg = "^1[34578]{1}\\d{9}$";   String phone = "13112341234";   System.out.println(phone.matches(reg));// true   // 分割 split   String abc = "a,b,c";   String[] abcArr = abc.split(",");   for(int i = 0;i<abcArr.length;i++){      System.out.println(abcArr[i]); //输出 a b c   }   // 替换 replaceAll   String s = "hello123world456";   String regex = "\\d+";   String replacement = " ";   String result = s.replaceAll(regex,replacement);   System.out.println(result); // hello world       // Pattern 和 Matcher   // 使用方法   // 1 通过Pattern对象获取matcher对象   // 2 用matcher对象的获取功能 find()  start() end() group()   String findInStr = "hello #world# hello #java# hello #php#";   // 找出所有的 ## 包围的字符   String pattern = "#(\\w+)#";   Pattern p = Pattern.compile(pattern);   Matcher m = p.matcher(findInStr);         while(m.find()){      System.out.print(m.group() +"  "+ m.group(1));      System.out.println();   }   // 匹配结果   /* #world#  world       #java#  java       #php#  php  */  }}