亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

PHP學習之正則表達式

 更新時間:2011年04月17日 22:17:54   作者:  
PHP支持兩種正則表達式,POSIX風格的正則表達式和兼容Perl風格的正則表達式。
現(xiàn)在我們大家所說的正則表達式基本上是指兼容Perl風格的正則表達式。POSIX風格的正則表達式基本上沒人使用了,所以從PHP5.3起,已經(jīng)不推薦使用了,可能到PHP的下一個版本就會把相關的函數(shù)刪除。

關于正則表達式,因為太復雜,所以以后想??匆槐菊齽t的書,所以只介紹兼容Perl風格的正則表達式的一些函數(shù)。

1. 定界符
定界符表示正則表達式的開始和結(jié)尾,一般用斜線(/)表示。在PHP中(其它語言暫時沒有測試過),它也可以用其它的非數(shù)字字母的字符來代替。如/\d+/和#\d+#的表示同一個正則表達式\d+。同時,也可以用小括號對,中括號對,大括號對做為定界符,如[\d+]。

2. 函數(shù)
匹配函數(shù):preg_match(); 以及preg_match_all();
替換函數(shù):preg_replace();
拆分函數(shù):preg_split();
過濾函數(shù):preg_grep();

示例代碼:
復制代碼 代碼如下:

$a = <<< TEXT
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(
// array(aaaaaaa 15′, bbbbbbb, 15′),
// array(bbbbbbb 16′, bbbbbbb, 16′),
// )

$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,第四章 字符串,正則表達式

相關文章

最新評論