正規表示式

2021-08-07 18:00:12 字數 2691 閱讀 3331

//^ 匹配輸入字串開始的位置

//$ 匹配輸入字串結尾的位置

//* 零次或多次匹配前面的字元或子表示式。例如,zo* 匹配z,zo,zoo等

pattern p = pattern.compile("^zo*$");

matcher m = p.matcher("zooo");

system.out.println("*測試:" + m.matches());

//+ 一次或多次匹配前面的字元或子表示式。例如,「zo+」與「zo」和「zoo」匹配,但與「z」不匹配

p = pattern.compile("^zo+$");

m = p.matcher("z");

system.out.println("+測試:" + m.matches());//false

//? 零次或一次匹配前面的字元或子表示式。例如,「do(es)?」匹配「do」或「does」中的「do」

p = pattern.compile("^zo?$");

m = p.matcher("zo");

system.out.println("?測試:" + m.matches());

// n 是非負整數。正好匹配 n 次

// n 是非負整數。至少匹配 n 次

// m 和 n 是非負整數,其中 n <= m。匹配至少 n 次,至多 m 次

//? 當此字元緊隨任何其他限定符(*、+、?、、、)之後時,

//匹配模式是「非貪心的」。「非貪心的」模式匹配搜尋到的、盡可能短的字串

//例如,在字串"oooo"中,「o+?」只匹配單個「o」,而「o+」匹配所有「o」。

//. 匹配除「\n」之外的任何單個字元(必須是乙個字元)

p = pattern.compile("^z.$");

m = p.matcher("z");

system.out.println(".測試:" + m.matches());//false

//x|y 匹配 x 或 y

//[xyz] 字符集。匹配包含的任一字元

//[^xyz]反向字符集。匹配未包含的任何字元

//[a-z] 字元範圍。匹配指定範圍內的任何字元

//[^a-z]反向範圍字元。匹配不在指定的範圍內的任何字元

//\b 匹配乙個字邊界,即字與空格間的位置。例如,「er\b」匹配「never」中的「er」,但不匹配「verb」中的「er」

////\b 非字邊界匹配。「er\b」匹配「verb」中的「er」,但不匹配「never」中的「er」。

// \d 數字字元匹配。等效於 [0-9]。

// \d 非數字字元匹配。等效於 [^0-9]。

// \s 匹配任何空白字元,包括空格、製表符、換頁符等。與 [ \f\n\r\t\v] 等效。

p = pattern.compile("^z\\sz$");

m = p.matcher("z z");

system.out.println("\\s測試:" + m.matches());//true

// \s 匹配任何非空白字元。與 [^ \f\n\r\t\v] 等效。

// \w 匹配任何字類字元,包括下劃線。與「[a-za-z0-9_]」等效。

// \w 與任何非單詞字元匹配。與「[^a-za-z0-9_]」等效。

參考:

幾個常用的正則

public

static boolean ismobileno(string mobiles)

// 14[57]\\d

// 15[0-35-9]\\d---//150到153,155到159

// 17[678]\\d

// 18\\d

// 170[059]\\d

pattern p = pattern.compile("^1(3\\d|4[57]|5[0-35-9]|7[678]|8\\d)\\d|170[059]\\d$");

matcher m = p.matcher(mobiles);

system.out.println("手機號格式正確麼?" + m.matches());

return m.matches();

}public

static boolean ispersonid(string id) ((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d$|^[1-9]\\d[1-9]\\d((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d([0-9]|x|x)$");

matcher m = p.matcher(id);

system.out.println("身份證格式正確麼?" + m.matches());

return m.matches();

}public

static boolean isemail(string email)

public

static boolean isip(string ip) (2[0-4]\\d|25[0-5]|[01]?\\d\\d?)$");

matcher m = p.matcher(ip);

system.out.println("ip格式正確麼?" + m.matches());

return m.matches();

}

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...