package regex.demo; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexDemo2 { public static void main(String[] args) { fun4(); } //获取 private static void fun4() { String str = "da jia haodf,wo shi"; //单词边界 String regex = "\\b[a-z]{3}\\b"; //将正则封装成对象 Pattern p = Pattern.compile(regex); //通过正则获取匹配器 Matcher m = p.matcher(str); //通过Matcher对象 while(m.find()){ System.out.println(m.group());//获取匹配的子列 } } //匹配手机号码是否正确 public static void fun() { String tel = "18707185910"; // String reg = "1[358][0-9]{9}"; String reg = "1[358]\\d{9}"; // [0-9] \d System.out.println(tel.matches(reg)); } //分割 public static void fun1() { String str = "da.ds.fed"; //split(String regex) String[] names = str.split("\\."); for(String name : names) { System.out.println(name); } } /* * ((A)(b(c))) 从左括号算组 */ public static void fun2() { String str = "daddddddseeeeefed"; //直接编号就是组 String[] names = str.split("(.)\\1+"); for(String name : names) { System.out.println(name); } } //替代 public static void fun3() { String str = "daddddddseeeeefed"; // String names = str.replaceAll("(.)\\1+","#"); //多个重叠用一个代替 String names = str.replaceAll("(.)\\1+","$1"); System.out.println(names); //分组 String tel = "18707185910"; //187****5910 tel = tel.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2"); System.out.println(tel); } }