java 正則提取號碼


import java.util.regex.Matcher;
import java.util.regex.Pattern;

/** * 提取指定字串中的電話和手機號碼 * @author yeyong */
public class PickUpPhone {
 private final static Pattern pattern = Pattern
   .compile("(?<!\\d)(?:(?:1[357]\\d{9})|(?:0[1-9]\\d{1,2}-?\\d{7,8}))(?!\\d)");

 /**
  * * 提取text中的電話和手機號碼 * @param text * @return
  * */
 public static String pickUp(String text) {
  Matcher matcher = pattern.matcher(text);
  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) {
  String text = "騙子的電話是13944447777和076812345678,13732680805 15151163228 13337846525銀行帳號:2240755123456780 身份證:4744134123456789,  錯誤的號碼139444477771(多了一位)";
  String phones = PickUpPhone.pickUp(text);
  System.out.println(phones);
 }
 // 輸出: // 13944447777,076812345678,13732680805,15151163228,13337846525 } }
}

發佈了14 篇原創文章 · 獲贊 3 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章