6 /ba/w*/b
查詢以字母a開始的片語
這個以查詢片語的起始位置(/b),然後是字母「b」,然後是任何重複的文字或者數字字元(/w*),然後是片語的結尾(/b)。
7 /d+
查詢重複的數字
這裡面,「+」與「*」很相似,但是「+」要求至少匹配一次。
8 /b/w/b
查詢六個字母的片語
試著在expresso中執行這些表示式,然後開始你自己的正規表示式測試。下面的列表中就是一些具有特殊意義的字元:.
匹配除新行外的所有字元
/w
匹配任意字母字元 /s
匹配任意空白字元
/d
匹配任意數字 /b
匹配單詞的開始或者結尾 ^
匹配字串的開始 $
匹配字串的結尾
表1
常用到的特殊字元正規表示式開始
特殊字元「
^」與「
$」經常用來查詢開始或者結尾匹配。在校驗整個輸入必須符合某乙個格式時,這個就顯得尤為有效。例如,校驗乙個
7位數字的**號碼,你可能這樣使用:
9 ^/d-/d$ 校驗7
位數字的**號碼
這個同例
5一樣,但是它僅僅是強制要求整體輸入,而匹配之後沒有校驗其他任何東西。在「
.net
」中通過設定「
multiline
」選擇,「
^」與「
$」可以改變原有的意義,而去匹配單獨一行文字的開始和結束匹配,而不是整個文字。「
expresso
」使用了這個選項。
轉義字元
當你確實想要查詢任意乙個特殊字元如「
^」或者「
$」的時候就會出現一些問題。使用反斜槓就可以去掉特殊的含義,比如「
/^」、「
/$」以及「
//」,可以匹配本來的字元含義:「
^」、「
$」以及「/」。
重複
你已經明白「」
以及「*
」,都用來表示單一字元的重複出現。到後面,你將看到同樣的符號將用來重複整個子表示式。這裡還有其他幾種方式來制定乙個重複,如下表中: *
重複任意次數 +
重複至少一次 ?
重複一次或者零次
重複n次
重複
n次,但是不超過m次
重複至少n次
表2
常用到的數量詞
我們將開始一些其他的例子:
10 /b/w/b查詢5
或者6
個字母
11 /b/d/s/d-/d
查詢10
位數字的**號碼
12 /d-/d-/d
社會安全號碼
13 ^/w*
一行中或者文字中的第乙個詞語
在最後乙個例子中,嘗試有或者沒有「
multiline
」選項,這個將改變「
^」的含義。
正規表示式30分鐘入門筆記
1 b是正規表示式規定的乙個元字元,代表著單詞的開頭或結尾,也就是單詞的分界處。如果要精確地查詢hi這個單詞的話,我們應該使用 bhi b 2 是另乙個元字元,匹配除了換行符以外的任意字元 3 同樣是元字元,它代表的不是字元,也不是位置,而是數量 它指定 前邊的內容可以連續重複使用任意次以使整個表示...
正規表示式30分鐘入門教程
30分鐘內讓你明白正規表示式是什麼,並對它有一些基本的了解,讓你可以在自己的程式或網頁裡使用它。最重要的是 請給我30分鐘,如果你沒有使用正規表示式的經驗,請不要試圖在30秒內入門 除非你是超人 別被下面那些複雜的表示式嚇倒,只要跟著我一步一步來,你會發現正規表示式其實並沒有你 想像中的那麼困難。當...
正規表示式30分鐘入門教程 2
有時需要查詢不屬於某個能簡單定義的字元類的字元。比如想查詢除了數字以外,其它任意字元都行的情況,這時需要用到反義 表3.常用的反義 語法 說明 w 匹配任意不是字母,數字,下劃線,漢字的字元 s 匹配任意不是空白符的字元 d 匹配任意非數字的字元 b 匹配不是單詞開頭或結束的位置 x 匹配除了x以外...