\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。這幾乎是最簡單的正規表示式了,它可以精確匹配這樣的字串 由兩個字元組成,前乙...