php preg_match()函數會符合1次。 preg_match()函數用於根據正規表示式對字串進行搜尋匹配,可以返回匹配次數;preg_match()的值將是0次(不匹配)或1次,因為它在第一次匹配後將會停止搜尋.
本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦
php preg_match()函數會匹配1次。
PHP 中的preg_match() 函數可以根據正規表示式對字串進行搜尋匹配,函數的語法格式如下:
preg_match($pattern,$subject [, &$matches [, $flags = 0 [, $offset = 0 ]]])
參數說明如下:
$pattern:要搜尋的模式,也就是編輯好的正規表示式;
$subject:要搜尋的字串;
$matches:可選參數(陣列類型),如果提供了$matches,它將被填入搜尋結果。 $matches[0] 包含完整模式匹配到的文本, $matches[1] 包含第一個捕獲子組匹配到的文本,以此類推;
$flags:可選參數,$flags 可以被設定為PREG_OFFSET_CAPTURE,如果傳遞了這個標記,對於每一個出現的匹配,返回時都會附加上字串偏移量(相對於目標字串的);
#$offset:可選參數,用於指定從目標字串的哪個位置開始搜尋(單位是位元組)。
preg_match() 函數可以傳回$pattern 的符合次數,它的值將是0 次(不符)或1 次,因為preg_match() 在第一次符合後將會停止搜尋。
範例:使用preg_match() 函數搜尋一個字串
<?php $subject = "abcdefghijkdef"; $pattern_1 = '/def/'; $num = preg_match($pattern_1, $subject, $matches_1,PREG_OFFSET_CAPTURE,8); echo '<pre class="brush:php;toolbar:false">'; var_dump($matches_1); var_dump($num); //匹配次数为1次 $pattern_2 = '/def$/'; $num = preg_match($pattern_2, $subject, $matches_2, PREG_OFFSET_CAPTURE, 3); var_dump($matches_2); ?>
對於第一次匹配,將從字串的第8 位元搜尋與$pattern_1
相符的子字串,$matches_2
陣列中包含符合得到的子字串和其出現在目標字串中的位置。
注意第二次正規表示式與第一次的正規表示式不同,其中加了一個定位符號$
,表示符合字串結尾處的位置。
推薦學習:《PHP影片教學》
以上是php preg_match會匹配幾次的詳細內容。更多資訊請關注PHP中文網其他相關文章!