正規表示式

2022-09-10 09:42:13 字數 1767 閱讀 7395

正規表示式簡介:

概述:就是正確的符合特定規則的表示式, 本質就是乙個字串, 一般是用來 校驗或者匹配某些資訊的.

正則不獨屬於任何的語言, 目前市場上大多數的語言都相容它.

涉及到的成員方法:

string類中的方法:

public boolean matches(string regex); 判斷字串是否符合指定的(正則)格式, 符合: true, 不符合: false

public string replaceall(string regex, string newstr); 把符合正則規則的內容 用指定的字串(newstr)來替代.

....

正則規則:

a 就表示乙個特殊的字元a

. 表示任意的乙個字元

\. 表示乙個普通的. 沒有任何特殊含義.

[abc] 表示必須是a,b,c這三個字元中的任意乙個字元

[^abc] 表示不是a,b,c這三個字元中的任意乙個字元

[a-za-z] 表示這裡必須是乙個任意的字母.

[0-9] 表示這裡必須是乙個數字

[a-za-z_0-9] 表示這裡必須是數字, 字母或者是_, 它們統稱為: 單詞字元.

\w 表示任意的乙個單詞字元, 等價於: [a-za-z_0-9]

\d 表示任意的乙個數字, 等價於: [0-9]

^ 表示正則的開頭

$ 表示正則的結尾

x 表示x字元恰好出現n次, 多一次少一次都不行.

x 表示x字元至少出現n次, 至多無所謂

x 表示x字元至少出現n次, 至多出現m次, 左右都包.

x? 表示x字元至少出現0次, 至多出現1次

x* 表示x字元至少出現0次, 至多出現無數次

x+ 表示x字元至少出現1次, 至多出現無數次

細節:1. 更多正規表示式的規則詳見 pattern類.

2. 能用以上的規則, 看懂別人寫的正規表示式即可.

public class demo01 .*"));

//需求4: 判斷字串是否是合法的手機號.

/*手機號規則:

1. 長度必須是11.

2. 必須是純數字.

3. 首位數字必須是1

4. 第2位數字必須是: 3,4,5,6,7,8,9

*/string phone = "11112345678";

system.out.println(phone.matches("1[3-9]\\d"));

//需求5: 統計字串中所有數字之和.

string s5 = "a1b23cde521fg31efab6a3";

string s6 = s5.replaceall("[^\\d]+", " ").trim();

// system.out.println(s);

string arr = s6.split(" ");

int num = 0;

for (string s : arr)

}system.out.println(num);

}}

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

非負整數 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正規表示式 編寫正規表示式

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