public 
class TestRegex {
public static String checkNum(String num){
??if(num == null || num.length() == 0){return "";}
??Pattern pattern = Pattern.compile("(?<!\\d)(?:(?:1[358]\\d{9})|(?:861[358]\\d{9}))(?!\\d)"); 
??Matcher matcher = pattern.matcher(num); 
??????StringBuffer bf = new StringBuffer(64); 
??????while (matcher.find()) { 
????????bf.append(matcher.group()).append(","); 
??????} 
??????int len = bf.length(); 
??????if (len > 0) { 
????????bf.deleteCharAt(len - 1); 
??????} 
??????return bf.toString();
?} 
?????? public static void main(String args[]) throws IOException {
???????? ?String mobileNo="史淑红<13120359225> ";
???????? ?String name=mobileNo.substring(0,mobileNo.indexOf("<"));
????????? System.out.println("截取电话为:"+
checkNum(mobileNo));
???????? ?System.out.println("截取名字:"+name);
?}
?}
?输出结果:
截取电话为:13120359225
截取名字:史淑红