第二章,正规化表示法的基本规则。
我们以经知道Regular Expression (正规化表示法) 是一种用以描述资料样式的语言/规範,现在就来看看它的基本规则是甚么。也就是说,如何用正规表示法来表示文数字与符号的样式。
文数字与符号的种类可分为:
一、大写文字:ABCDEFGHIJKLMNOPQRSTUVWXYZ
二、小写文字:abcdefghijklmnopqrstuvwxyz
三、数字:0123456789
四、符号:+-*/@#$%^&,.()_=[]{}\|";:<>?`~
五、控制符号:像是Tab键、Enter键等等只给程式看的特殊符号组合。
而所谓的样式 (Pattern),就是用以代表一组文数字符号的组合方式。譬如说,A 开头 E 结尾就是一种样式,而 ACE、ACTIVE 就符合这个样式。要注意的是,除非特别表明,通常大小写的表示是有差别的。所以Ace、active 并不符合这个样式的要求。
正规化表示法,就是设计来方便我们表示样式。它有以下几个基本规则:
一、我们通常会採用 [ ] 来定义样式区块,而区块里的字元都会被视为样式。譬如:[abc] 代表只要含有 a 、 b 或 c 的文字串,都符合这个样式。
二、 ^ 符号代表开头。譬如: ^a 代表 a 开头的字串。
三、 $ 符号代表结尾。譬如: b$ 代表 b 结尾的字串。
四、 . 符号代表任何一个字元 (一个点代表一个)。譬如: a.b ,代表 a b 之间还包含某一个字元。
五、 * 符号代表任何字元 (零个至无限个)。譬如: a*b ,代表 a b 之间可能没有其他字元,或是还包含一个以上的字元。
六、 - 符号代表範围。譬如: [0-9] ,代表 0 到 9 所以数字,也就相当于 [0123456789] 。
综合以上,譬如说: A.E 仅可以表示 ACE 或 AoE , A*E 则可以代表 ACE 与 ACTIVE ;