php之正規表示式函式總結

2021-09-24 08:29:51 字數 2621 閱讀 4934

//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...