Java使用正規表示式的一些問題

2021-09-24 16:06:54 字數 1515 閱讀 4309

string類裡的matches方法能匹配全字串,而不能匹配字串中的一部分,(這個地方好坑,一次專案中在這裡耗時很長)

string str =

"my phone is :13376543489."

; system.out.

println

(str.

matches

("[0-9]*"))

; str =

"13376543489"

; system.out.

println

(str.

matches

("[0-9]*"))

;

執行結果:

string類中contains方法則可以檢查字串中的子字串,但不能使用正規表示式。若存在該子字串則返回true,否則返回false。

string str =

"my phone is :/13376543489/."

; system.out.

println

(str.

contains

("is "))

; system.out.

println

(str.

contains

(":"))

; system.out.

println

(str.

contains

("my phone"))

; system.out.

println

(str.

contains

("myphone"))

; system.out.

println

(str.

contains

("/[0-9]*/"))

;

結果為:

注意:呼叫matcher類的group方法時一定要先呼叫find()方法,否則會報錯。

pattern pattern = pattern.

compile

("/[0-9]*/");

matcher matcher = pattern.

matcher

("my phone is :/13376543489/.");

if(matcher.

find()

)

執行結果為:

一些正規表示式

要嚴格的驗證手機號碼,必須先要清楚現在已經開放了哪些數字開頭的號碼段,目前國內號碼段分配如下 移動 134 135 136 137 138 139 150 151 157 td 158 159 187 188 聯通 130 131 132 152 155 156 185 186 電信 133 153...

一些正規表示式

判斷是否是正整數if isnan paramvalue paramvalue 0 else 金額的格式判斷輸入金額的要求 整數字最多十位,小數為最多為兩位,可以無小數字 0 9 1 9 0 9 0 9 function checkmoney str 0 9 if re.test str else 手...

一些正規表示式

記錄一下 以防忘記 string hello 123 4567 world this is a regsssss res re.match w s d s d s w string 匹配到 hello 123 4567 world this 其中 代表乙個字串的開始 代表乙個字串的結尾 w 匹配字母...