正則表示式(Regular expression) @ Penguin 工作室 - 隨意窩
文章推薦指數: 80 %
先前我們比對字串時,必須分別針對字串開頭、結尾、長度等等做比較,判斷是否符合我們的規則,而正則表示式簡單來說,就是利用一個事先定義的表示式字串,來代表所有的規則 ...
Penguin工作室,一起JAVA吧!曾經以為這輩子不會走上寫程式這條路。
但當我逐漸創作出更多作品,我知道我樂在其中。
沒錯,寫程式是創作。
發揮你的創意DNA,一起JAVA吧!日誌相簿影音好友名片
201202212318正則表示式(Regularexpression)?JAVA進階篇 我們在前面的章節已經有說明過字串的比對處理、檔案的FileFilter等等檢核字串或檔名規則的方法,這邊要說明另一種更彈性、更進階的正則表示式(Regularexpression)。
支援的正則表示式相關類別都在java.util.regex.Pattern類別底下。
先前我們比對字串時,必須分別針對字串開頭、結尾、長度等等做比較,判斷是否符合我們的規則,而正則表示式簡單來說,就是利用一個事先定義的表示式字串,來代表所有的規則,這樣一來就不用分別對所有的項目做比較。
正則表示式的使用方式如下:
Stringstr=""; str.matches("");
第1行宣告一個文字,代表要檢核的文字。
第2行使用matches()並帶入正則表示式來回傳布林值表示是否符合規則。
以下就來看看如何設定正則表示式。
首先是字元的設定,如下:
[abc]
a或b或c
[^abc]
非a、b、c的其它字元
[a-zA-Z]
a到z或A到Z
[a-d[m-p]]
a到d及m到p
[a-z&&[def]]
d或e或f
[a-z&&[^bc]]
除了b與c之外,a到z所有字元
[a-z&&[^m-p]]
除了m到p之外,a到z所有字元
數量的設定如下:
A?
A出現一次或零次
A*
A出現零次或多次
A+
A出現一次或多次
A{n}
A出現n次
A{n,}
A出現至少n次
A{n,m}
A出現n-m次
另外以下為定義的類別:
.
符合任一字元
\d
等於[0-9]數字
\D
等於[^0-9]非數字
\s
等於[\t\n\x0B\f\r]空白字元
\S
等於[^\t\n\x0B\f\r]非空白字元
\w
等於[a-zA-Z_0-9]數字或是英文字
\W
等於[^a-zA-Z_0-9]非數字與英文字
因此如果我們要檢核手機號碼,規則為10位數字,就可以設定[0-9]{10},表示範圍在0-9之間,且出現次數為10次,如果是市話號碼,規則為4位數字加上『-』符號再加上4位數字,就可以設定[0-9]{4}-[0-9]{4},執行以下程式就可以測試結果: Stringstr1="0900000000"; System.out.println(str1.matches("[0-9]{10}")); Stringstr2="0000-0000"; System.out.println(str2.matches("[0-9]{4}-[0-9]{4}"));
若是要檢核電子信箱,則可以用類似下列的範例: Stringstr="[email protected]"; System.out.println(str.matches("[a-zA-Z0-9._]+@([a-zA-Z0-9_]+.[a-zA-Z0-9_]+)+"));
表示a-z或是A-Z或是0-9或是『.』或是『_』出現一次或多次,加上『@』符號,再加上a-z或是A-Z或是0-9或是『_』加上『.』符號一組至多組。
劉蓁/Xuite日誌/回應(0)/引用(0)沒有上一則|日誌首頁|沒有下一則回應
全部展開|全部收合
關鍵字
jane17512001's新文章視窗程式JavaSwing-常用元件視窗程式JavaSwing-基本設定及LayoutXMPP即時通訊Queue(佇列)、ConcurrentLinkedQueue遞迴(Recursion)以及求解最大公因數log4j日誌記錄正則表示式(Regularexpression)HTTP連線(HttpURLConnection、HttpClient)ResourceBundleFTP檔案傳輸(apache.common.net.ftp)
BloggerAds
延伸文章資訊
- 1正規表示式- 線上產生器
跨越換行符號 尋找所有符合項目. 產生的正規表示式. //. 本正規表示式的意義為:. 比對字串中是否包含. 巨匠電腦永和分校馬世驊老師編輯請使用Chrome或Firefox瀏覽.
- 23-15:正規表示法:表單資料驗證
「正規表示法」或「正規式」(Regular expressions)是在UNIX 世界中發展出來的字串比對技巧,其基本概念是用一套簡單(但功能強大)的符號來比對字串,並可對符合比對 ...
- 3Python正規表示式:不一定要會,但會了超省力
regular 是規則的意思,expression 則是表達的意思,中文翻譯把Regualr expression 翻譯成「正規表示式」,代表一種有規則、有規律的表達方式。 也有人把 ...
- 4正則表示式(Regular expression) @ Penguin 工作室 - 隨意窩
先前我們比對字串時,必須分別針對字串開頭、結尾、長度等等做比較,判斷是否符合我們的規則,而正則表示式簡單來說,就是利用一個事先定義的表示式字串,來代表所有的規則 ...
- 5正規表示式- 維基百科,自由的百科全書