Download presentation
Presentation is loading. Please wait.
1
Java 與 Regular Expression
陳鍾誠 2006 年於金門
2
正規表示式 Regular Expression
說明 用來進行字串比對的一種語言 理論 能力與 Finite State Automata 相同 用途 抽取電話號碼、網址、 等訊息
3
範例 : 整數 語法: [0-9]+ 簡化語法: \d+ 比對範例 372 成功 Abc 失敗
4
範例 :實數 語法: [0-9]+\.?[0-9]* 簡化語法: \d+\.?\d 比對範例 成功 1.a 失敗
5
範例 :英文詞彙 語法: [a-zA-Z]+ 簡化語法: \p{Alpha}+ 比對範例 hello 成功 h2o 失敗
6
範例 :電話 語法: 簡化語法: 比對範例 [0-9](2,4)-[0-9](5,9) \d(2,3)-\d(5,9)
成功 失敗
7
範例 : email 語法: 簡化語法: 比對範例 [a-zA-Z0-9]+@[a-zA-Z0-9\.]+ \w+@[\w\.]+
成功 ccc#kmit.edu.tw 失敗
8
範例 : URL 語法: 簡化語法: 比對範例 http://[a-zA-Z0-9\./]+ http://[\w\./]+
成功 ftp://ccc.kmit.edu.tw/ 失敗
9
範例 : 地址 語法: 簡化語法: 比對範例 .(2,2)縣.(10,20)[路街巷].[0-9零一-九](1,3)號
.(2,2)[縣市].(10,20)[路街巷].[\d零一-九](1,3)號 比對範例 金門縣金寧鄉大學路一號 成功 金寧鄉大學路一號 失敗
10
Java 的 Regular Expression 語法
請參考 Pattern 物件的說明
11
Java 的 regex 函式庫 java.util.regex 物件 Pattern : 比對樣式 Matcher : 比較器
12
Java 的 regex 程式範例 參考 Regex1.java 與 REGEX.java // Match URL
String pattern = " String text = "URL of KMIT is "URL of ccc is Pattern p = Pattern.compile(pattern); Matcher m = p.matcher(text); while (m.find()) { System.out.println("token="+text.substring(m.start(), m.end())); } 參考 Regex1.java 與 REGEX.java
13
隨堂習題1 請撰寫一個程式,可以利用 Regular Expression 將 下列內容中的所有電話號碼抽取出來。
小明家住台北,電話是 , 今天他打電話 約金門的阿 花,阿花沒空、所以小明就改打 約桃園的阿珠。
14
隨堂習題2 請撰寫一個程式,可以利用 Regular Expression 將 首頁中的所有超連結給抽出來。
Similar presentations