學習使用的教材是,《學習正規表示式》[美]michael fitzgerald(作者)王熱宇[譯] 人民郵電出版社
只是感興趣學習,畢竟好多地方都支援正規表示式,也為以後可能會使用,做一些入門基礎準備。
方括號被正規表示式視為特殊的元字元(類似於程式語言中的保留字),[0-7]這種形式的正規表示式稱作字元組(或字符集)
在圖3中,一共有10個方括號,第乙個方括號中的數字,表示第乙個數字的匹配值,依次類推。最後乙個方括號中的7-9,表示最後一位數字只匹配數字為7、8、9的字串,在文字框中,有三個字串滿足以上條件,故有三個字串被高亮。
如圖4,使用\d
可以達到[0-9]
的效果。
另外,\d
可以匹配任何的非數字字元,.
可以匹配任意字元。
要建立乙個捕獲分組,先將乙個表示式寫在圓括號內。後續使用後向引用,對該捕獲分組捕獲的內容進行引用。如下,將第乙個數字作為捕獲分組,後面再遇到數字7時,直接使用後向引用即可:
可以使用多個捕獲分組和後向引用,如下圖,第二個捕獲分組捕獲的內容是數字0,在後向引用時,也是只匹配數字0:
{}
中的數字表示待查詢的數字出現的次數。包含數字的花括號是一種量詞。花括號本身用做元字元。
?
也是一種量詞,在上述表示式中表示連字元是可選的。即,連字元可以不出現或只出現一次(零個或乙個)。第六條匹配的字串,3個數字之後無-
,但是由於-
後加了問號量詞,表示匹配的時候,-
可有可無。
+
也是量詞,表示乙個或多個。
*
量詞,表示零個或多個。
此表示式,使用了乙個捕獲分組,後面有乙個+
表示,可以有乙個或多個此類匹配的字串;
\d
匹配至少三個數字,至多四個數字;
[.-]?
匹配點號或-
,同時三個數字後面的點號或者-
可有可無。
(\(\d\)|\d[.-]?)?
表示第一部分的三位數區號可有可無(末尾的問號量詞起到的作用),可以帶括號可以不帶括號((\(\d\)|\d
中間的|
表示表示選擇,從多個可選項中選擇乙個,前者為帶括號的三位數區號,後者為不帶括號的三位數區號)。
正規表示式 正則入門
先從乙個例子開始正規表示式。書寫乙個匹配手機號的正規表示式,為了方便討論,假定手機號是1開頭,第二位只能是3 5 8中的其中乙個,總共11位的數字,形如13 匹配手機號的正規表示式為 1 358 d 下面介紹此正規表示式中的各個符號的含義。表示字串的開頭,後面緊接著1,表示匹配的字串要以 1 開頭。...
正規表示式入門
對於文字字元,有11個字元被保留作特殊用途。他們是 這些特殊字元也被稱作元字元 不可顯示字元 可以使用特殊字串行來代表某些不可顯示字元 代表tab 0x09 代表回車符 0x0d 代表換行符 0x0a 字符集 字符集是由一對方括號 括起來的字元集合。使用字符集,你可以告訴正規表示式引擎僅僅匹配多個字...
正規表示式入門
老師說過 正規表示式就是用字串讀取字串!學習正規表示式的最好方法是從例子開始,理解例子之後再自己對例子進行修改,實驗。下面給出了不少簡單的例子,並對它們作了詳細的說明。假設你在一篇英文 裡查詢hi,你可以使用正規表示式hi。這幾乎是最簡單的正規表示式了,它可以精確匹配這樣的字串 由兩個字元組成,前乙...