iT邦幫忙

3

[Regex] 正規化表示法的基本規則

第二章,正規化表示法的基本規則。
我們以經知道Regular Expression (正規化表示法) 是一種用以描述資料樣式的語言/規範,現在就來看看它的基本規則是甚麼。也就是說,如何用正規表示法來表示文數字與符號的樣式。
文數字與符號的種類可分為:
一、大寫文字:ABCDEFGHIJKLMNOPQRSTUVWXYZ
二、小寫文字:abcdefghijklmnopqrstuvwxyz
三、數字:0123456789
四、符號:+-*/@#$%^&,.()_=[]{}\|";:<>?`~
五、控制符號:像是Tab鍵、Enter鍵等等只給程式看的特殊符號組合。

而所謂的樣式 (Pattern),就是用以代表一組文數字符號的組合方式。譬如說,A 開頭 E 結尾就是一種樣式,而 ACEACTIVE 就符合這個樣式。要注意的是,除非特別表明,通常大小寫的表示是有差別的。所以Aceactive 並不符合這個樣式的要求。

正規化表示法,就是設計來方便我們表示樣式。它有以下幾個基本規則:
一、我們通常會採用 [ ] 來定義樣式區塊,而區塊裡的字元都會被視為樣式。譬如:[abc] 代表只要含有 abc 的文字串,都符合這個樣式。
二、 ^ 符號代表開頭。譬如: ^a 代表 a 開頭的字串。
三、 $ 符號代表結尾。譬如: b$ 代表 b 結尾的字串。
四、 . 符號代表任何一個字元 (一個點代表一個)。譬如: a.b ,代表 a b 之間還包含某一個字元。
五、 * 符號代表任何字元 (零個至無限個)。譬如: a*b ,代表 a b 之間可能沒有其他字元,或是還包含一個以上的字元。
六、 - 符號代表範圍。譬如: [0-9] ,代表 0 到 9 所以數字,也就相當於 [0123456789]
綜合以上,譬如說: A.E 僅可以表示 ACEAoEA*E 則可以代表 ACEACTIVE


尚未有邦友留言

立即登入留言