如果我們想找某些關鍵字,或是像DOS中的指令dir *.exe之類的,這些應用就是Regular Expression.
  
此外在UNIX中更是應用強大,不管是Perl還是Vi都很好用,對於寫程式要判斷某些字元或是限制使用者輸入的字,都需要用到Regular Expression!!
  
在PHP中有幾個RE的函數如下:
  
  
依照RE來搜尋字串:
  
  
布林值 erge ( RE規則, 比對字串 );
  
  
布林值 ergei ( RE規則, 比對字串 );
  
  
erge 與 ergei 差別在於ergei比對是不分英文字元大小寫!!
  
  
  
依照RE取代字串:
  
  
字串 ereg_replace( RE規則, 取代字串, 比對字串 );
  
  
字串 eregi_replace( RE規則, 取代字串, 比對字串 );
  
  
ereg_replace 與 eregi_replace 差別在於eregi_replace比對是不分英文字元大小寫!!
  
  
依照RE分割字串:
  
  
陣列 split ( RE規則, 比對字串 );
  
  
陣列 spliti ( RE規則, 比對字串 );
  
  
split 與 spliti 差別在於spliti比對是不分英文字元大小寫!!
  
  
RE特殊字元:
  
  
^ 以什麼開頭(行首)
  
EX: ^a 比對字串以"a"開頭的文字
  
  
$ 以什麼為結尾(行尾)
  
EX: $b 比對以字串"b"開頭的文字
  
  
[] 包含什麼的文字
  
EX:[abc] 以包含abc的文字比對
  
EX:[a-z] 包含英文小寫a~z
  
EX:[A-Z] 包含英文大寫A~Z
  
EX:[0-9] 包含數字0~9
  
EX:[[:digit:]] 相當於 [0-9]
  
EX:[[:alnum:]] 相當於[0-9a-zA-z]
  
EX:[[:alpha:]] 相當於[a-zA-z]
  
EX:[[:upper:]] 相當於[A-Z]
  
EX:[[:lower:]] 相當於[a-z]
  
  
+ 連接符號
  
EX: $^ab+c 表示以a開頭,緊接一個b,在接c字串
  
  
{} 包含幾個以上
  
EX: b{4} 要找含有剛好連續四個以上的b
  
EX: a{3,} 要找連續三個以上的a
  
EX: c{2,6} 要找連續3個以上六個以下的c
  
  
. 萬用字元取代任意字元除了換行字元,每一個"."代表一個字元
  
EX: ^a.b$ 以a開頭b結尾且中間一個字為任一字元
  
  
* 前面字元出現任意次包含0次
  
  
^[] 比對字串第一個字有無符合
  
EX:^[abc] 表示要比的字串第一個字必須符合a or b or c
  
  
[^] 比對字串是否有包含[]以外的字
  
EX: [^def] 表示要比對字串有無包含 d or e or f 字元 
  |