Pattern类的用处(获取手机号码)

Pattern类最大的用处是获取字符串中的手机号码
首先先看看API中是如何描述的:
Pattern类的用处(获取手机号码)_第1张图片
我们可以看到,典型的调用顺序,上图的ab就是正则表达式,“aaaaab"就是字符串,意思就是根据正则0或多个a,一个b去匹配字符串"aaaaab”,能匹配上就返回true,不能匹配就返回false;但这个调用顺序相当于 “aaaaab”.matches("ab");而我们想要获取手机号,需要对其做出一点改变。

         String s="我的手机号17745904630,曾经用过15647895606";
		 Pattern p = Pattern.compile("1\\d{10}");
		 Matcher m = p.matcher(s);
		 boolean b1=m.find();
		 String s1=m.group();
		 System.out.println(s1);
		 

例如上面,首先有一个字符串,我们写出一个手机号的正则(“1\d{10}”,之后让字符串s去匹配正则,也就是第三行,匹配上之后再调用Matcher类的find()方法用来找到字符串位置,也就是第四行,之后再调用Matcher类的group()方法来获取手机号,也就是第五行,最后输出手机号。
但是,这个方法只能获取一个手机号,获取不到之后的手机号,我们再做一点改变,

		  String s="我的手机号17745904630,曾经用过15647895606";
          Pattern p = Pattern.compile("1\\d{10}");
		  Matcher m = p.matcher(s);
		  while(m.find())
			 System.out.println(m.group());

我们写一个while循环,当找到手机号位置时,就获取,这也就能获取所有的手机号了。

你可能感兴趣的:(JAVASE基础)