package a1; import java.util.regex.Pattern; import java.util.regex.Matcher; public class a1{ public static void main(String[] args) { String str0 = "我想找一套适合自己的JAVA教程,尽快联系我13500006666" + "交朋友,电话号码是13611125565" + "出售二手电脑,联系方式15899903312"; String str1 = "19956950222"; String str2 = "13655589999,这是我的手机号有需要请联系!"; // 正则表达式:"((13\\d)|(15\\d))\\d{8}" // 使用Pattern类创建正则表达式对象p,基于正则表达式对象创建Matcher类的对象m0、m1、m2 Pattern p = Pattern.compile("((13\\d)|(15\\d))\\d{8}"); Matcher m0 = p.matcher(str0); Matcher m1 = p.matcher(str1); Matcher m2 = p.matcher(str2); // m1调用方法,对str1字符串进行判断,判断其从整体的角度上是否匹配 System.out.println(m1.matches()); // m2调用方法,对str2字符串进行判断,判断其前面是否匹配 System.out.println(m2.lookingAt()); // m0调用方法,查询str0字符串中所有的匹配,并输出匹配的相关信息,结合while循环去实现 while (m0.find()) { System.out.println(m0.start()); System.out.println(m0.end()); System.out.println(m0.group()); } // str0字符串调用相应的方法,对字符串进行匹配并分割,然后用传统的for循环遍历输出分割后的内容 String[] s = str0.split("((13\\d)|(15\\d))\\d{8}"); for (int i=0;i