正規表示式元字元

2022-04-03 17:50:12 字數 1699 閱讀 2351

.:匹配任何單個字元。例如正規表示式「b.g」能匹配如下字串:「big」、「bug」、「b g」,但是不匹配「buug」,「b..g」可以匹配「buug」。

[ ]:匹配括號中的任何乙個字元。例如正規表示式「b[aui]g」匹配bug、big和bag,但是不匹配beg、baug。可以在括號中使用連字元「-」來指定字元的區間來簡化表示,例如正規表示式[0-9]可以匹配任何數字字元,這樣正規表示式「a[0-9]c」等價於「a[0123456789]c」就可以匹配「a0c」、「a1c」、「a2c」等字串;還可以制定多個區間,例如「[a-za-z]」可以匹配任何大小寫字母,「[a-za-z0-9]」可以匹配任何的大小寫字母或者數字。

( ):將 () 之間括起來的表示式定義為「組」(group),並且將匹配這個表示式的字元儲存到乙個臨時區域,這個元字元在字串提取的時候非常有用。把一些字元表示為乙個整體。改變優先順序、定義提取組兩個作用。

|:將兩個匹配條件進行邏輯「或」運算。'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 則匹配 "zood" 或 "food"。

*:匹配0至多個在它之前的子表示式,和萬用字元*沒關係。例如正規表示式「zo*」能匹配 「z」 、「zo」以及 「zoo」;因此「.*」意味著能夠匹配任意字串。"z(b|c)*"→zb、zbc、zcb、zccc、zbbbccc。"z(ab)*"能匹配z、zab、zabab(用括號改變優先順序)。

+:匹配前面的子表示式一次或多次,和*對比(0到多次)。例如正規表示式9+匹配9、99、999等。 「zo+」能匹配 「zo」以及 「zoo」 ,不能匹配"z"。

?:匹配前面的子表示式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 。一般用來匹配「可選部分」。

:匹配確定的 n 次。"zo"→zoo。例如,「e」 不能匹配「bed」中的「e」,但是能匹配「seed」中的兩個「e」。

:至少匹配n次。例如,「e」不能匹配「bed」中的「e」,但能匹配 「seeeeeeeed」中的所有「e」。

:最少匹配 n 次且最多匹配 m 次。「e」將匹配「seeeeeeeed」中的前三個「e」。

^(shift+6) :匹配一行的開始。例如正規表示式「^regex」能夠匹配字串「regex我會用」的開始,但是不能匹配「我會用regex」。

^另外一種意思:非!(暫時不用理解)

$:匹配行結束符。例如正規表示式「浮雲$」 能夠匹配字串「一切都是浮雲」的末尾,但是不能匹配字串「浮雲呀」

\d:代表乙個數字,等同於[0-9]

\d:代表非數字,等同於[^0-9]

\s:代表換行符、tab製表符等空白字元

\s:代表非空白字元

\w:匹配字母或數字或下劃線或漢字,即能組成單詞的字元

\w:非\w ,等同於[^\w]

d:digital;s:space、w:word。大寫就是「非

正規表示式 元字元

現在你已經知道幾個很有用的元字元了,如 b 還有 d 當然還有更多的元字元可用,比如 s 匹配任意的空白符,包括空格,製表符 tab 換行符,中文全形空格等 w匹配字母或數字或下劃線或漢字等。ba w b 匹配以字母a 開頭的單詞 先是某個單詞開始處 b 然後是字母a 然後是任意數量的字母或數字 w...

正規表示式 元字元

元字元 描述.點 匹配任何單個字元。例如正規表示式r.t匹配這些字串 rat rut r t,但是不匹配root。匹配行結束符。例如正規表示式weasel 能夠匹配字串 he s a weasel 的末尾 但是不能匹配字串 they are a bunch of weasels.匹配一行的開始。例如...

正規表示式元字元

l 基本元字元 元字元說明 匹配任意單個字元 邏輯或操作符 定義乙個字元集合,匹配該集合中的乙個字元 對字元集合求非 是對整個集合求非,而不是緊挨著 符號的字元 在字元集合中定義乙個區間。如 a za z 對下乙個字元轉義。比如 n表示換行。數量元字元 元字元說明 匹配前乙個字元 子表示式 零次或多...