//preg_match($pattern, $subject, &$match, [$flags=0], [$offset=0]) 一般三個引數
$pattern = '/[0-9]/'; //正則
$subject = 'abc1def2ghi3klm4'; //需要匹配的字串
$return = preg_match($pattern, $subject, $matches);
echo $return; //1 因為匹配到了1個就會停止匹配
print_r($matches); // ['1'] 將所有滿足正則規則的匹配放到陣列裡。
//preg_match_all($pattern, $subject, $matches,...)
$pattern = '/[0-9]/';//正則字串
$subject = 'abc1def2ghi3klm4';//需要匹配的目標字串
$return = preg_match_all($pattern, $subject, $matches);
echo $return;//4 因為會匹配所有的
print_r($matches);//[0=>['1','2','3','4']] 注意是個二維陣列。
複製**
//preg_replace($pattern, $replacement, $subject)
$pattern = '/[0-9]/';
$replacement = '嘿嘿嘿';
$subject = 'a1b2c3';
$return = preg_replace($pattern, $replacement, $subject);
echo $return; //'a嘿嘿嘿b嘿嘿嘿c嘿嘿嘿'
//preg_filter($pattern, $replacement, $subject) //和preg_replace 沒有任何變化
$pattern = '/[0-9]/';
$replacement = '嘿嘿嘿';
$subject = 'a1b2c3';
$return = preg_filter($pattern, $replacement, $subject);
echo $return; //'a嘿嘿嘿b嘿嘿嘿c嘿嘿嘿'
//但是$pattern 和 $subject都是陣列呢
$pattern = array('/[0-3]/', '/[4-6]/', '/[7-9]/');
$replacement = array('小', '中', '大');
$subject = array('a', 'b', '1as', 'd', 's5d', '7qq');
$return = preg_replace($pattern, $replacement, $subject);
print_r($return);
//結果
array
( [0] => a
[1] => b
[2] => 小as
[3] => d
[4] => s中d
[5] => 大qq
) $pattern = array('/[0-3]/', '/[4-6]/', '/[7-9]/');
$replacement = array('小', '中', '大');
$subject = array('a', 'b', '1as', 'd', 's5d', '7qq');
$return = preg_filter($pattern, $replacement, $subject);
print_r($return);
//結果
array
( [2] => 小as
[4] => s中d
[5] => 大qq
)複製**
//趁熱打鐵 其實preg_grep呢 就是preg_filter的閹割版 只匹配 不替換而已
//preg_grep($pattern, $subject)
$subject = ['r', 'a2', 'b3', 'c', 'd'];
$pattern = '/[0-9]/';
$fl_array = preg_grep($pattern, $subject);
print_r($fl_array);
//結果:
array
( [1] => a2
[2] => b3
) //注意索引
//preg_split($pattern, $subject) 返回分割後的陣列
$subject = 'a132b456c777d';
$pattern = '/[0-9]+/'; 匹配至少乙個數字
$return = preg_split($pattern, $subject);
print_r($return);
//結果:
array
( [0] => a
[1] => b
[2] => c
[3] => d
)複製**
PHP 正規表示式總結
可以用字元作為乙個萬用字元來代替除換行符 n 之外的任乙個字元。例如,正規表示式 at可以與 cat sat at 和 mat 等進行匹配。主要是用於在搜尋檔案時 也可以指定乙個字符集 a z at 在方括號 中的內容都是乙個字元類 乙個被匹配字元所屬的字元集合。但是只匹配其中的乙個字元。同時我們也...
PHP正規表示式函式
關於正規表示式 regular expression 似乎譯成 字串解析處理,較合乎字面上的意義。但目前所有的相關書籍都譯成正規表示式或是正規表示法.等等,實際上是負責字串解析比對,並對字串做相關的處理。ereg 字串比對解析。ereg replace 字串比對解析並取代。eregi 字串比對解析,...
PHP之正規表示式
pattern 正規表示式 subject 正規表示式匹配的資料 preg match all pattern,subject,matches 匹配第乙個符合的 preg match 0 9 sdad456dsad5dsa4dsad4e4d e5s8 show1 匹配所有符合標準的 preg mat...