84 正規表示式

2021-09-02 06:35:29 字數 1762 閱讀 2894

正規表示式

來學一下正規表示式

現在我們來乙個正則

abc.

那麼abc1

abc2

abcc

abca

abc.

這些都跟abc.相匹配

所以abc.就表示 abc再連線乙個字元

.可以匹配任意乙個字元

所以abc加任意乙個字元 就是abc.

然後 匹配特殊字元

.a.\.xml

這是什麼意思

第乙個點匹配

第二個點匹配

然後\.是乙個整體,是對.進行轉譯

那麼這段的意思就是

什麼a什麼.xml 的都匹配

比如1a1.xml

2a3.xml

[ns]a.\.xml

這是什麼意思

就是n或者s中的乙個

na1.xml

sa2.xml

或者[ns]a[0123456]\.xml

這樣也可以

或者[ns]a[0-9]\.xml

或者[ns]a[0-9a-f]\.xml

[ns]a[0-9a-za-z]\.xml

取反,取非

[ns]a[^0-9]\.xml

這樣的話 0-9都不行

也可以[ns]^a[^0-9]\.xml

注意如果直接寫[a-z]

這樣的話 還包括了好多的符號

捋一下65--a

90--z

91--[

92--\

93--]

94--^

95--_

96--`

97--a

122-z

所以的話,直接寫[a-z]

是26+26=52個

再加上6個符號

所以[a-z]一共對應了58個

這個可以記一下

不錯中括號在正則中是特殊字元

所以如果我們想要匹配[或者]

那麼我們要轉譯一下

\[ \]

\d--任意數字字元-- [0-9]

\d--任意非數字 [^0-9]

\w--任意字母數字或下劃線[a-za-z0-9_]

\w--反一下 [^a-za-z0-9_]

\s--任意空白字元

\s--任意非空白字元

重複匹配

\w+@\w+\.\w+

這是什麼意思

我們分開看

\w+ @ \w+ \. \w+

這5個部分

\w+可以重複匹配

然後@匹配@

然後\.就是乙個點

所以就是

[email protected]

注意了這種情況的話,

[email protected]也會被匹配

這樣就不是郵箱位址了

我們改一下

匹配**

分開看https? :// [\w./]+

三個部分看

第乙個部分:

s可以1次或者0次

所以http和https都可以

第二個部分

://第三個部分

\w 還有.還有/都可以

重複匹配

然後我們看看匹配rgb顏色

#[0-9a-fa-f]

所以#336633

#ffaaff

這些都可以匹配

都是16進製表示rgb顏色

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

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

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