Presentation is loading. Please wait.

Presentation is loading. Please wait.

Java 與 Regular Expression

Similar presentations


Presentation on theme: "Java 與 Regular Expression"— Presentation transcript:

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 將 首頁中的所有超連結給抽出來。


Download ppt "Java 與 Regular Expression"

Similar presentations


Ads by Google