直接贴上代码:
package com.treasure.test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 该类的作用是在一串字符串中找到手机号码。
* @author Treasure
*/
public class FindMobileNumber
{
public static void main(String[] args)
{
String text = "哈哈020-38880793哈哈13719300019哈哈8615955555555";
// 这里写的是手机号码的正则表达式,如果你想匹配座机号码的话,可以在里面添加
Pattern pattern = Pattern
.compile("(?<!\\d)(?:(?:1[358]\\d{9})|(?:861[358]\\d{9}))(?!\\d)");
Matcher matcher = pattern.matcher(text);
StringBuffer bf = new StringBuffer();
while (matcher.find()) {
bf.append(matcher.group()).append(",");
}
int len = bf.length();
if (len > 0) {
// 如果找到一个或者多个手机号码,后面会多一个逗号,这个方法是删除掉最后一个逗号。
bf.deleteCharAt(len - 1);
}
System.out.println(bf.toString());
}
}