這是什麼東東?這個是.... 請看 Wikipedia XD
其中一種用法可以這樣來看,有一個句子
我們要怎麼樣來形容他?
這個形容的辭句也就是正規表示法的意思
比如說一個句子:『The 1st thing is to eat something.』
可以這樣形容:【The 數字st thing is to eat something.】
就差不多是這個意思,當然正規表示法有很多的符號可以使用
根據程式的不同,正規表示法有部份也會有所出入。
基本上一些特殊符號如下:
字元 | 涵義 | 解釋 |
\ | 跳脫字元 | \\ 代表 \ 符號,\^ 代表 ^ 符號 |
. | 任意字元 | 可以代表任何字元 |
^ | 代表開頭 | ^123 代表以 123 開頭的字串 |
$ | 代表結尾 | 123$ 代表以 123 結尾的字串 |
| | 或者 | 123|456 代表是123或者456的字串 |
而三種括號也是有意義的:
一、小括弧 () ,將刮起來的形成一個群組,
如 (a|b)cde 可以代表 acde 或者 bcde
和 a|bcde 不同,a|bcde可以代表 a 或者 bcde
二、中括弧 [] ,字元集合,即括號中的任何一個字元都可以
如 [ab]cde 功能與 (a|b)cde 相同,另外在[]中,.*|$+?(){}
各代表自身符號,並無特殊涵義,而 ^ 在[]內,則代表否定
如 [^12]abc 代表不是 1abc 和 2abc 的字串
另外 - 在[] 中可以代表 由...到... 的意思,如 [0-9A-Za-z]
代表 0~9、A~Z、a~z 的字元集合
三、大括號 {},為前一個字元出現次數,使用方式有幾種:
(n<=m且 n,m為非負整數)
{n} 必須出現n次
{n,} 出現 n 次以上
{n,m} 出現次數需介於 n~m之間
如 a{2}bc 只能代表 aabc
a{2,}bc 可以代表 aabc、aaabc... 但不能代表 abc
a{2,3}bc 只能代表 aabc 或 aaabc 其餘都不可以
另外如 .{2} 代表任意兩個字元
代表前一個字元出現次數的符號:
字元 | 涵義 | 解釋 |
? | 出現 0 or 1 次 | 等同於{0,1} |
+ | 出現一次以上 | 等同於{1,} |
* | 出現零次以上 | 等同於{0,} |
這些是最常用的部份,其實 RegExp 還很廣
這邊先介紹基礎的部份
沒有留言:
張貼留言