現在我們大家所說的正規表示式基本上是指相容Perl風格的正規表示式。 POSIX風格的正規表示式基本上沒人使用了,所以從PHP5.3起,已經不建議使用了,可能到PHP的下一個版本就會把相關的函數刪除。
關於正規表示式,因為太複雜,所以以後想專看一本正規的書,所以只介紹一些相容Perl風格的正規表示式的函數。
1. 定界符
定界符表示正規表示式的開始和結尾,一般以斜線(/)表示。在PHP中(其它語言暫時沒有測試過),它也可以用其它的非數字字母的字符來代替。如/d+/和#d+#的表示同一個正規表示式d+。同時,也可以用小括號對,中括號對,大括號對做成定界符,如[d+]。
2. 函數
匹配函數:preg_match(); 以及preg_match_all();
替換函數:preg_replace();
拆分函數:preg_split();
過濾函數:preg_grep(preg );
範例程式碼:
複製程式碼 程式碼如下:
$a =
$a =
$a =
$a =
$a = aaaaaaa 15
bbbbbbb 16
TEXT;
$ret = preg_match(/(w+) (d+)/, $a, $match);
// $ret : 1
// $match : array(aaaaaaa 15′, aaaaaaa, 15′)
$ret = preg_match_all(/(w+) (d+)/, $a, $match);
// $ret : 2
// $match : array(
// array(aaaaaaa 15′, bbbbbbb 16′),
// array(bbbbbbb, bbbbbbb),
// array(15′, 16′),
// )
$ret = preg_match_all(/(w+) (d+)/, $a, $match, PREG_SET_ORDER);
// $ret : 2
// $match : array(
$b = preg_replace(/( w+) (d+)/, 1, 2′, $a);
// $b : aaaaaaa, 15// bbbbbbb, 16′
$c = preg_split(/s/, $a ); // $c : array(aaaaaaa, 15′, bbbbbbb, 16′) $files = array(aa.txt, bb.xls, cc.txt); $txtFiles = preg_grep (/.*.txt/, $files); // $txtFiles : array(aa.txt, cc.txt) 參考資料: PHP程式設計,2003 ,第四章字串,正規表示式 以上就介紹了photoshop學習網站 PHP學習之正規表示式,包括了photoshop學習網站方面的內容,希望對PHP教學有興趣的朋友有幫助。