PHP正則表達式的定義
用於描述字符排列和匹配模式的一種語法規則
PHP中的正則函數
PHP中有兩套正則函數
一套是由PCRE(Perl Compatible Regular Expression)庫提供的
一套由POSIX(Portable Operating System Interface of Unix )擴展提供的
由於POSIX正則即將推出歷史舞台
PCRE正則表達式
PCRE全稱為Perl Compatible Regular Expression
在PCRE中
正則中重要的幾個概念有
常用的元字符(Meta
元字符 說明
/A 匹配字符串串首的原子
/Z 匹配字符串串尾的原子
/b 匹配單詞的邊界 //bis/ 匹配頭為is的字符串 /is/b/ 匹配尾為is的字符串 //bis/b/ 定界
/B 匹配除單詞邊界之外的任意字符 //Bis/ 匹配單詞
/d 匹配一個數字
/D 匹配除數字以外任何一個字符
/w 匹配一個英文字母
/W 匹配除英文字母
/s 匹配一個空白字符
/S 匹配除空白字符以外任何一個字符
/f 匹配一個換頁符等價於 /x
匹配一個換行符
匹配一個回車符等價於/x
/t 匹配一個制表符
/v 匹配一個垂直制表符
/oNN 匹配一個八進制數字
/xNN 匹配一個十六進制數字
/cC 匹配一個控制字符
模式修正符(Pattern Modifiers)
模式修正符在忽略大小寫
i -可同時匹配大小寫字母
M -將字符串視為多行
S -將字符串視為單行
X -模式中的空白忽略不計
U -匹配到最近的字符串
e -將替換的字符串作為表達使用
格式
PCRE的模式單元
//
/^/d{
當不需要存儲匹配結果時使用非存儲模式單元
例如/(?:a|b|c)(D|E|F)//
PCRE正則表達式函數
以下為引用的內容
preg_match()和preg_match_all()
preg_quote()
preg_split()
preg_grep()
preg_replace()
函數的具體使用
匹配action屬性
以下為引用的內容
$str =
$match =
preg_match_all(
print_r($match);
在正則中使用回調函數
以下為引用的內容
/**
* replace some string by callback function
*
*/
function callback_replace() {
$url =
$str =
$str = preg_replace (
echo $str;
}
function search($url
return $url
}
帶斷言的正則匹配
以下為引用的內容
$match =
$str =
paragraph text
preg_match_all (
echo
print_r ( $match );
替換HTML源碼中的地址
以下為引用的內容
$form_html = preg_replace (
最後
From:http://tw.wingwit.com/Article/program/PHP/201311/21027.html