30分鐘學習正規表示式指南 二

2021-04-09 00:12:24 字數 1489 閱讀 3773

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以外...