正規表示式快速入門

2021-10-19 21:08:53 字數 2184 閱讀 8933

代表前面乙個字元出現0次或1次

例子:dj?

d 匹配

dj 匹配

djjj 不匹配

*

代表前面乙個字元可以出現0次或任意次

例子:abc

ac 匹配

abc 匹配

abbbc 匹配

adc 不匹配*

+

代表前面乙個字元出現1次及以上

例子:ab+c

ac 不匹配

abc 匹配

abbbc 匹配

adc 不匹配

限定字元出現次數

abc 代表b出現3次

abc 代表b出現3到6次

abc 代表b出現3次及以上

想同時對多個字元限定時用括號括起來

a(bc)d 代表bc出現2次

|

匹配兩者中的任意乙個

[ ]

匹配的字元只能取自[ ]中的字元

例子:[abc]+ 只能匹配由abc中的字母組成的字串

[a-z]+ 只能匹配小寫字母組成的字串

[a-za-z0-9]+ 只能配小寫字母大寫字母數字0到9組成的字串

^代表要求匹配除尖號後面列出的以外的字元

[^0-9] 只能匹配非數字字元

\d代表數字字元

相當於[0-9]

\w代表單詞字元,即所有英文本元加數字加下劃線

\s代表空白符

同時包含 tab字元和換行符

\d代表非數字字元

\w代表非單詞字元

\s代表非空白字元

.代表任意字元

但不包括換行符

^匹配行首    $匹配行尾

^a 只會匹配行首的a

b$ 只會匹配行尾的b

例子: <.>

>

字串:

this

is a test<

/b>

<

/span>

這將會匹配整個字串 因為也在任意字元範圍內 所以預設貪婪匹配將匹配整個字串

例子: <.>

?>

字串:

this

is a test<

/b>

<

/span>

加了?後會將貪婪匹配切換為懶惰匹配

結果如下

1.匹配rgb顏色值#[a-fa-f0-9]\b

#號開頭

顏色值只能包含a-f a-f 0-9這些字元 且只有6位

末尾加入\b來代表單詞字元的邊界

2.匹配ip位址

((25[0-5]|2[0-4]\d|[01]?\d\d?).)(25[0-5]|2[0-4]\d|[01]?\d\d?)\b

先匹配一段

如果是25開頭,第三個只能是0-5中的數字

如果是20到24開頭,第三個可以是任意數字

如果是0或1開頭,第二個和第三個可以是任意數字

由於位數可以是1位或兩位所以寫成[01]?\d\d?或[01]?\d?\d

在數字後面加上點號.

重複三次

最後再來一組和前面一樣規則的數字

總結

github上的學習資料

學習資料

這個要梯子

正規表示式快速入門

你是不是經常忘記正規表示式中的語法規則 優先順序順序 界定符 定位符等等,每次看了忘忘了看,怎麼辦的,多練習或者小抄本記起來!1 常用元字元 匹配處換行符以外的任意字元 w匹配字母或數字或下劃線或漢字 s匹配任意的空白符 d匹配數字 b匹配單詞的開始或結束 匹配字串的開始 匹配字串的結束 2 常用限...

正規表示式快速入門

一 元字元 w,s,b,d 1.後面四個有相應的大寫,表反義。匹配行開頭,只有當其在 中表示 非 2.b 匹配單詞的開始或結束,而 匹配除換行符外的任意字元。eg 匹配乙個非空行 bstr 匹配 str開頭的字串 二 重複 請叫上面四位為 四大金剛 0個或多個 個或多個 個或 個 有三種寫法,和 不...

正規表示式快速入門

匹配除了換行符以外的任何字元 w 匹配字母或數字或下劃線或漢字 s 匹配任意的空白符 d 匹配數字 b 匹配單詞的開始或結束 匹配字串的開始 匹配字串的結束 匹配除了換行符以外的任何字元,算是 w 的加強版了 w 不能匹配 空格 如果把字串加上空格用 w 就受限了,看下用 如何匹配字元 b hj 4...