正規表示式入門

2021-06-29 07:47:06 字數 1415 閱讀 2069

\b:代表著

單詞的開頭或結尾,也就是單詞的分界處

.:匹配

除了換行符以外的任意字元

*:代表是數量——它指定*

前邊的內容可以連續重複使用任意次以使整個表示式得到匹配

.*:任意數量的不包含換行的字元

?:重複零次或一次

例:\bhi\b.*\blucy\b的意思就是:先是乙個單詞hi,然後是任意個任意字元(但不能是換行),最後是lucy這個單詞

\d:是個新的元字元,匹配

一位數字(0,或1,或2,或……) -:

不是元字元,只匹配本身

例:0\d-\d。這裡\d後面的()的意思是前面\d

必須連續重複匹配2次(8次)

\s:匹配

任意的空白符,包括空格,製表符(tab),換行符,中文全形空格等

\w:匹配字母或數字或下劃線或漢字等。

例:\ba\w*\b

匹配以字母a開頭的單詞——先是某個單詞開始處(\b),然後是字母a,然後是任意數量的字母或數字(\w*),最後是單詞結束處(\b)

\d+:

匹配1個或更多連續的數字

。這裡的+是和

*類似的元字元,不同的是*匹配

重複任意次(可能是0次),而+

則匹配重複1次或更多次

。例:\b\w\b

匹配剛好6個字元的單詞

^ :匹配字串的開始

$ :匹配字串的結束

例:**如果要求你填寫的qq號必須為5位到12位數字時,可以使用:

^\d$ \.

、\*、\\

:查詢本身

:列舉,像

[aeiou]

就匹配任何乙個英文母音字母

,[.?!]

匹配標點符號(.或?或!),[0-9]

代表的含意與

\d就是完全一致的:

一位數字,

同理[a-z0-9a-z_]

也完全等同於\w

例:\(?0\d[) -]?\d:這個表示式可以匹配

幾種格式的**號碼

,像(010)88886666

,或022-22334455

,或02912345678

等。我們對它進行一些分析吧:首先是乙個轉義字元

\(,它能出現0次或1次(

?),然後是乙個

0,後面跟著2個數字(

\d),然後是)或

-或空格中的乙個,它出現1次或不出現(

?),最後是8個數字(\d)

[^x]:匹配除了x以外的任意字元

():指定

子表示式

(也叫做

分組),然後就可以指定這個子表示式的重複次數等,預設情況下,每個分組會自動擁有乙個

組號,規則是:從左向右,以分組的左括號為標誌,第乙個出現的分組的組號為1,第二個為2,以此類推。

正規表示式 正則入門

先從乙個例子開始正規表示式。書寫乙個匹配手機號的正規表示式,為了方便討論,假定手機號是1開頭,第二位只能是3 5 8中的其中乙個,總共11位的數字,形如13 匹配手機號的正規表示式為 1 358 d 下面介紹此正規表示式中的各個符號的含義。表示字串的開頭,後面緊接著1,表示匹配的字串要以 1 開頭。...

正規表示式入門

對於文字字元,有11個字元被保留作特殊用途。他們是 這些特殊字元也被稱作元字元 不可顯示字元 可以使用特殊字串行來代表某些不可顯示字元 代表tab 0x09 代表回車符 0x0d 代表換行符 0x0a 字符集 字符集是由一對方括號 括起來的字元集合。使用字符集,你可以告訴正規表示式引擎僅僅匹配多個字...

正規表示式入門

老師說過 正規表示式就是用字串讀取字串!學習正規表示式的最好方法是從例子開始,理解例子之後再自己對例子進行修改,實驗。下面給出了不少簡單的例子,並對它們作了詳細的說明。假設你在一篇英文 裡查詢hi,你可以使用正規表示式hi。這幾乎是最簡單的正規表示式了,它可以精確匹配這樣的字串 由兩個字元組成,前乙...