首頁 > 後端開發 > PHP問題 > 淺談PHP中preg_match與preg_match_all函數的不同

淺談PHP中preg_match與preg_match_all函數的不同

醉折花枝作酒筹
發布: 2023-03-08 21:56:02
原創
2530 人瀏覽過

本篇文章是對php正規表示式中的preg_match函數與preg_match_all函數進行了分析介紹,需要的朋友參考下。

淺談PHP中preg_match與preg_match_all函數的不同

preg_match_all()函數

按指定的正規表示式,在給定的字串中進行搜索,匹配到符合特徵的部分取出。

$pattern='/t(.*?)st/';
$str='tgvregbvst      test    tdst';
var_dump(preg_match_all($pattern,$str,$arr));
var_dump($arr);
登入後複製

我們可以看到輸出結果是:

int(3) array(2) { [0]=> array(3) { [0]=> string(10) "tgvregbvst" [1]=> string(4) "test" [2]=> string(4) "tdst" } [1]=> array(3) { [0]=> string(7) "gvregbv" [1]=> string(1) "e" [2]=> string(1) "d" } }
登入後複製

他把符合條件的都給列了出來,而preg_match()函數不一樣。

preg_match()函數

執行一個正規表示式匹配,傳回 pattern的匹配次數。它的值將是0次(不匹配)或1次,因為preg_match()在第一次匹配後將會停止搜尋。

$pattern='/t(.*?)st/';
$str='tgvregbvst      test    tdst';
var_dump(preg_match($pattern,$str,$arr));
var_dump($arr);
登入後複製

我們可以看到輸出結果是:

int(1) array(2) { [0]=> string(10) "tgvregbvst" [1]=> string(7) "gvregbv" }
登入後複製

比相比上一個函數,這個函數輸出結果少了很多,這正是他們的不同之處。

preg_match_all()不同於preg_match()函數,它會一直搜尋subject直到到達結尾。如果發生錯誤preg_match()回傳false

推薦學習:《PHP影片教學

以上是淺談PHP中preg_match與preg_match_all函數的不同的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板