|
關(guān)于正則表達(dá)式,因?yàn)樘珡?fù)雜,所以以后想專看一本正則的書,所以只介紹兼容Perl風(fēng)格的正則表達(dá)式的一些函數(shù)。
1. 定界符
定界符表示正則表達(dá)式的開始和結(jié)尾,一般用斜線(/)表示。在php中(其它語言暫時(shí)沒有測(cè)試過),它也可以用其它的非數(shù)字字母的字符來代替。如//d+/和#/d+#的表示同一個(gè)正則表達(dá)式/d+。同時(shí),也可以用小括號(hào)對(duì),中括號(hào)對(duì),大括號(hào)對(duì)做為定界符,如[/d+]。
2. 函數(shù)
匹配函數(shù):preg_match(); 以及preg_match_all();
替換函數(shù):preg_replace();
拆分函數(shù):preg_split();
過濾函數(shù):preg_grep();
示例代碼:
復(fù)制代碼 代碼如下:
$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程序設(shè)計(jì),2003,第四章 字符串,正則表達(dá)式
php技術(shù):PHP學(xué)習(xí)之正則表達(dá)式,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。