java正则表达式2 -- 匹配切割查找
Posted K_artorias
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java正则表达式2 -- 匹配切割查找相关的知识,希望对你有一定的参考价值。
1 import java.util.Arrays; 2 3 /* 4 正则表达式的作用: 5 6 1 匹配 7 8 2 切割 9 10 3 替换 11 12 * */ 13 public class Demo1 { 14 public static void main(String[] args) { 15 isPhone("0314-16610306"); 16 cutStr1("火 影 忍 者"); 17 cutStr2("大家家明天天玩的的的的的开心"); 18 replaceSame("大家家明天天玩的的的的的开心"); 19 } 20 21 //匹配固话: 区号-主机号 区号:首位为0,长度为3-4位 主机号:首位不能为0,长度7-8位 22 public static void isPhone(String phone){ 23 System.out.println(phone.matches("0\\\\d{2,3}-[1-9]\\\\d{6,7}")?"合法固话 ":"非法固话"); 24 } 25 26 //切割 通过split 27 //需求:按照空格切割字符串 = 火 影 忍 者 28 public static void cutStr1(String str){ 29 String[] splits = str.split(" +"); 30 System.out.println("数组元素:" + Arrays.toString(splits)); 31 } 32 //需求:按照叠词分割字符串=大家家明天天玩的的的的的开心 33 public static void cutStr2(String str){ 34 String[] splits = str.split("(.)\\\\1+"); 35 System.out.println("数组元素:" + Arrays.toString(splits)); 36 } 37 38 //替换 39 //字符串去重:大家家明天天玩的的的的的开心 40 public static void replaceSame(String str){ 41 //把后几号替换成**** 42 String s = "大家家明13211525558天天玩18356457889的的的的的开心"; 43 System.out.println("被替换后的内容" + s.replaceAll("1[3478]\\\\d{9}+", "****")); 44 45 //去重并替换 46 System.out.println(str.replaceAll("(.)\\\\1+", "$1")); 47 //(.)任意字字符成组,\\\\1捕获1次;叠词,$1得到1组, 取前面的组1次或多次 48 } 49 }
运行结果:
以上是关于java正则表达式2 -- 匹配切割查找的主要内容,如果未能解决你的问题,请参考以下文章