正規表示式

2022-07-31 11:45:13 字數 1677 閱讀 5980

是匹配字串內容的一種規則。只和字串相關了

在同乙個位置可能出現的各種字元組成了乙個字元組,乙個表示乙個字
規則[0123456789] 待匹配字元 8

可以用-表示範圍,[0-9]就和[0123456789]是乙個意思

[9-0]是錯誤的,數字只能從小到大,是根據ascii碼的規則

[a-za-z]表示大小寫均匹配 [a-fa-f0-9]用來驗證十六進製制字元

\w 匹配字母或數字或下劃線 \s 匹配任意的空白符 \d 匹配數字

\w 匹配非字母或數字或下劃線 \d 匹配非數字 \s 匹配非空白符

3.2 . n,t,b

\n 匹配乙個換行符 \t 匹配乙個製表符(tab鍵) \b 匹配乙個單詞的結尾 . 匹配除換行符以外的任意字元

3.3 () [^]

()匹配括號內的表示式,也表示乙個組 [...]匹配字元組中的字元 [^...] 匹配除了字元組中字元的所有字元

3.4 ^ $ |

1.^匹配字串的開始 $匹配字串的結尾 a|b 匹配字元a或字元b

2.^e只能放到最前面 ^la lala 匹配前兩個la la$顯示後兩個la

3.^ey$ 確定乙個字串 ^e.*y$ 以e為開頭以y為結尾

4.a|b 有重合的部分先匹配長的,再匹配短的

\\d \d  true   轉義\之後變成\\,即可匹配

r'\\d' r'\d' true 在字串之前加r,讓整個字串不轉義

*,+,?等都是貪婪匹配,也就是盡可能匹配,後面加?號使其變成惰性匹配

.*?的用法

. 是任意字元

* 是取 0

至 無限長度

?是非貪婪模式。

合在一起就是 取盡量少的任意字元,一般不會這麼單獨寫,他大多用在:

.*?x

就是取前面任意長度的字元,直到乙個x出現

view code

身份證號碼是乙個長度為15或18個字元的字串,如果是15位則全部

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

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

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