正規表示式

2021-10-09 01:14:23 字數 1843 閱讀 8580

1.什麼是正規表示式?

是乙個用來對字串進行處理的乙個特殊的字串

可以簡化字串的處理

2.正規表示式的組成

a.字元 必須

b.數量 可選

c.分組 可選

3.正規表示式的字元

任何乙個字元都可以是正規表示式的字元

[abc] 表示乙個字元,a或者b或者c

(b|d|rt) 表示一組字元 b或者的或者rt

[a-z] 表示任意乙個小寫字母

[a-z] 表示任意乙個大寫字母

[0-9] 表示任意乙個數字

[1-5] 表示1~5這5個數字中的某乙個

[a-za-z0-9] 表示所有的字母和數字中的某乙個

[a-m&&[h-z]] 等價於[h-m]

[^bcd] 除開bcd以外的所有字元中的乙個 ,等價[ae-z]

[a-za-z_0-9] 所有的單詞字元

3.預定義的字元

.   乙個任意字元

\d 數字,等價於[0-9]

\d 非數字等價於[^0-9]

\w 所有的單詞字元,等價於[a-za-z_0-9]

\w 非單詞字元

\s 空白字元 空格 \t \r \n

\s 非空白字元

4.字元的數量詞用來表示字元要出現的次數

表示最少5次,最多10次

表示最少5次,無上限

表示必須5次

? 表示0次或一次

* 表示0次或多次

+ 表示1次或多次

+案例

x[abc]y

x[abc]?y 可以匹配 xay xby xcy xy

x[abc]+y 不能匹配 xy

可以匹配 xabcabcy

x[abc]*y 可以匹配 xy

可以匹配 xabcabcy

案例:

寫乙個用來驗證郵箱是否合法的正規表示式

***@***.***

\w+@\w+.\w+

***@***.***.xx

\w+@\w+(\.\w+)

5.懶惰性數量詞和貪婪性數量詞? 5個到10個,但盡可能少

?? 0個或者1個,但盡可能少

*? 0個或者多個,但盡可能少

+? 1個或者多個,但盡可能少

+ 5個到10個,但盡可能多

?+ 0個或者1個,但盡可能多

*+ 0個或者多個,但盡可能多

++ 1個或者多個,但盡可能多

案例:判斷手機號是否合法

public

class

newer0810

// 判斷手機號

public

static

void

checkmtel

(string s)")

?s+"是手機號!"

:s+"不是手機號!");

}}

執行:

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

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

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