天天看點

String 類對正則的支援|學習筆記

開發者學堂課程【Java 進階程式設計:String 類對正則的支援】學習筆記,與課程緊密聯系,讓使用者快速學習知識。

課程位址:

https://developer.aliyun.com/learning/course/20/detail/335

String 類對正則的支援

在進行正規表達式大部分處理的情況下都會基于 String 類來完成,并且在 String 類裡面提供有如下與正則有關的操作方法:

No. 方法名稱 類型 描述
01

public boolean matches(String regex).

普通 将指定字元串進行正則判斷。
02

public String replaceAll(String regex, String

replacement)

替換全部
03

public String replaceFirst(String regex, String replacement):

替換首個
04

public String[] split(String regex)

正則拆分
05

public String[] split(String regex, int limit)

下面通過一些具體的範例來對正則的使用進行說明。

範例:實作字元串替換(删除掉非字母與數字)

實作字元串的拆分

在正則處理的時候對于拆分與替換的操作相對容易一些, 但是比較麻煩的是資料驗證部分。 

範例:判斷一個資料是否為小數,如果是小數則将其變為 double 類 型

package cn.mldn. demo;

public class JavaAPIDemo

public static void main(String[] args) throws Exception {

String str = "100.1" ; 11

要判斷的資料

Stringregex = "

\\

d+(

\\.\\d+

)?" ; 11

正規表達式

System. out . println(str.matches(regex));

範例:現在判斷一個字元串是否由日期所組成,如果是由日期所組成則将其轉為 Date 類型。

需要注意的是,正規表達式無法對裡面的内容進行判斷,隻能夠對格式進行判斷處理。

範例:判斷給定的電話号碼是否正确?

.電話号碼: 51283346;

電話号碼: 01051283346

電話号碼: (010)-51283346。

package cn.mldn. demo;

public class JavaAPIDemo

public static void main(String[] args) throws Exception

String str = "51283346" ;//

要判斷的資料

String regex =

“\\d{7,8}”

; 11

正規表達式

System. out . println(str .matches(regex));

既然已經可以使用正則進行驗證了,那麼下面就可以利用其來實作一個 email 位址格式的驗證。

範例:驗證 email 格式

email 的使用者名可以由字母、數字、所組成; (不應該使用-開頭)

email 的域名可以由字母、數字、_、-所組成;

域名的字尾必須是:.cn、.com、 .net、 .com.cn、 .gov;