语法:int preg_match_all ( string pattern, string subject, array &matches [, int flags] )

这个函数的返回值是整个pattern匹配到的结果数量。

matches(注意这里是引用)是一个二维数组,matches[0] 是整个pattern匹配的结果。matches[1] 是第一个子模式(正则表达式中的子模式,就是圆括号括起来的部分)匹配的结果,matches[2]是 第二个子模式的匹配结果,依次推matches[N]是 第N个子模式的匹配结果。

说明:有N个括号,就对应有N个子模式,子模式的元素就是括号中匹配到的内容。子模式中元素的个数=正则匹配到的结果的个数。

举例:

<?php  $pattern = "/<[^>]+>(.*)<\/[^>]+>/U";$subject = "<b>example:</b><div align = left>this is a test</div>";preg_match_all($pattern,$subject,$out);print_r($out);
?>

结果:

$pattern 正则在字符串中匹配到了2个满足条件的结果,分别是

匹配结果1:
<b>example:</b>匹配结果2:
<div align = left>this is a test</div>

所以每隔大数组里面的元素个数都是2,并且元素之间都是对应的(通过数组的索引键)

注意:这个结果的形式,array[0]是整个pattern匹配到的结果,array[1]是pattern中子模式 (.*) 所匹配到的结果。但是array[1]匹配的结果是和array[0]中的结果相对应

转载于:https://www.cnblogs.com/echojson/p/10749493.html

PHP的 preg_match_all相关推荐

  1. PHP匹配函数怎么用,php preg_match_all函数怎么用

    php preg_match_all函数用于执行一个全局正则表达式匹配,返回完整匹配次数(可能是0),或者如果发生错误返回FALSE. php preg_match_all函数怎么用? preg_ma ...

  2. preg_match_all心得

    preg_match_all -- 进行全局正则表达式匹配 说明 int preg_match_all ( string pattern, string subject, array matches ...

  3. preg_match_all用法

    (PHP 4, PHP 5, PHP 7, PHP 8) preg_match_all - 执行一个全局正则表达式匹配 说明 preg_match_all(     string $pattern, ...

  4. php正则去除base64,使用PHP preg_match_all的正则表达式base64块

    我正在尝试使用php中的正则表达式来匹配base64编码的块. 它以'Content-Transfer-Encoding: base64'开头,因此我希望可以在此之后匹配内容,但是下面的正则表达式无法 ...

  5. preg_match_all中的标记

    preg_match_all用于匹配所有的符合条件的字符串 它的第4参数是flags,可选的项为PREG_PATTERN_ORDER , PREG_SET_ORDER 和 PREG_OFFSET_CA ...

  6. preg_match_all使用实例

    <?php $str = <<<EOT <!DOCTYPE html><html><head><meta charset=" ...

  7. php的正则匹配方法preg_match_all问题

    2019独角兽企业重金招聘Python工程师标准>>> 用preg_match_all匹配时,时不时匹配失败,郁闷了很久,无意中在网上找到答案: 用正则从字符串中提取内容失败,反复检 ...

  8. php all函数,PHP 函数 preg_match_all()

    语法 int preg_match_all (string pattern, string string, array pattern_array [, int order]); 定义和用法 preg ...

  9. preg_match和preg_match_all()

    preg_match - 执行匹配正则表达式 preg_match ( string $pattern , string $subject [, array &$matches [, int  ...

最新文章

  1. Echarts柱状图的点击事件
  2. java异常类子类和父类的关系
  3. 如果人民币贬值,对股市会有什么影响?
  4. java护照号码校验_学无止境之小白学java……第001天
  5. foreach lambda写法_Java8新特性之forEach+Lambda 表达式遍历Map和List
  6. 2012-11-25学习笔记
  7. [已解决]从微软合作伙伴资源和MSDN下载系统和软件Microsoft download Manager无效
  8. JavaScript内存泄漏的几种情况
  9. 存量运营好工具:客户稳定度评分卡模型
  10. Hawkeye逃避机制和反调试技术分析
  11. 学习matlab(十四)——GUI
  12. 使用vcpkg安装cgal前安装yasm报错
  13. JEECMS——源码下载和安转运行
  14. 鸿蒙秘境怎么玩,鸿蒙秘境
  15. 中国国内驾照在韩国换驾照的经过
  16. 皮卡丘(pikachu) 文件上传
  17. 第三方支付“快钱”的经营策略
  18. Machine Learning Stanford (week 2)
  19. 单片机MCU51系列RTOS多任务超微操作系统精髓 简单实现 汇编及C语言混合 keil9.0工程源码
  20. 电子签章结构以及规范讲解

热门文章

  1. 山西农业大学c语言答案,作业答案
  2. 小米手机能用上鸿蒙吗,鸿蒙系统小米手机能用吗?鸿蒙系统支持第三方手机!
  3. 服务器运维管理系统哪个好用,宝塔和云帮手哪个服务器运维管理工具好用?
  4. python c 混合编程 用c循环_混合编程:用 C 语言来扩展 Python 大法吧!
  5. python的for循环累加_在python中将6 for循环累计和矢量化
  6. 九宫格C语言递归程序,[置顶] C语言递归实现N宫格(九宫格)源码
  7. LINUX CP 命令强制覆盖功能开启/关闭
  8. MySQL 错误 #1055
  9. python斐波那契数列前20项_Python每日一练之实现斐波那契数列
  10. mac mysql 端口被占用_【Docker】安装MySQL彻底解决3306端口占用问题