PHP的 preg_match_all
語(yǔ)法:int?preg_match_all?( string pattern, string subject, array &matches [, int flags] )
這個(gè)函數(shù)的返回值是整個(gè)pattern匹配到的結(jié)果數(shù)量。
matches(注意這里是引用)是一個(gè)二維數(shù)組,matches[0] 是整個(gè)pattern匹配的結(jié)果。matches[1] 是第一個(gè)子模式(正則表達(dá)式中的子模式,就是圓括號(hào)括起來(lái)的部分)匹配的結(jié)果,matches[2]是 第二個(gè)子模式的匹配結(jié)果,依次推matches[N]是 第N個(gè)子模式的匹配結(jié)果。
說(shuō)明:有N個(gè)括號(hào),就對(duì)應(yīng)有N個(gè)子模式,子模式的元素就是括號(hào)中匹配到的內(nèi)容。子模式中元素的個(gè)數(shù)=正則匹配到的結(jié)果的個(gè)數(shù)。
舉例:
<?php $pattern = "/<[^>]+>(.*)<\/[^>]+>/U";$subject = "<b>example:</b><div align = left>this is a test</div>";preg_match_all($pattern,$subject,$out);print_r($out); ?>?
結(jié)果:
$pattern 正則在字符串中匹配到了2個(gè)滿足條件的結(jié)果,分別是
匹配結(jié)果1: <b>example:</b>匹配結(jié)果2: <div align = left>this is a test</div>所以每隔大數(shù)組里面的元素個(gè)數(shù)都是2,并且元素之間都是對(duì)應(yīng)的(通過(guò)數(shù)組的索引鍵)
注意:這個(gè)結(jié)果的形式,array[0]是整個(gè)pattern匹配到的結(jié)果,array[1]是pattern中子模式 (.*) 所匹配到的結(jié)果。但是array[1]匹配的結(jié)果是和array[0]中的結(jié)果相對(duì)應(yīng)
?
轉(zhuǎn)載于:https://www.cnblogs.com/echojson/p/10749493.html
總結(jié)
以上是生活随笔為你收集整理的PHP的 preg_match_all的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Matrix Completion wi
- 下一篇: spring boot项目配置RestT