PHP的 preg_match_all
语法: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相关推荐
- PHP匹配函数怎么用,php preg_match_all函数怎么用
php preg_match_all函数用于执行一个全局正则表达式匹配,返回完整匹配次数(可能是0),或者如果发生错误返回FALSE. php preg_match_all函数怎么用? preg_ma ...
- preg_match_all心得
preg_match_all -- 进行全局正则表达式匹配 说明 int preg_match_all ( string pattern, string subject, array matches ...
- preg_match_all用法
(PHP 4, PHP 5, PHP 7, PHP 8) preg_match_all - 执行一个全局正则表达式匹配 说明 preg_match_all( string $pattern, ...
- php正则去除base64,使用PHP preg_match_all的正则表达式base64块
我正在尝试使用php中的正则表达式来匹配base64编码的块. 它以'Content-Transfer-Encoding: base64'开头,因此我希望可以在此之后匹配内容,但是下面的正则表达式无法 ...
- preg_match_all中的标记
preg_match_all用于匹配所有的符合条件的字符串 它的第4参数是flags,可选的项为PREG_PATTERN_ORDER , PREG_SET_ORDER 和 PREG_OFFSET_CA ...
- preg_match_all使用实例
<?php $str = <<<EOT <!DOCTYPE html><html><head><meta charset=" ...
- php的正则匹配方法preg_match_all问题
2019独角兽企业重金招聘Python工程师标准>>> 用preg_match_all匹配时,时不时匹配失败,郁闷了很久,无意中在网上找到答案: 用正则从字符串中提取内容失败,反复检 ...
- php all函数,PHP 函数 preg_match_all()
语法 int preg_match_all (string pattern, string string, array pattern_array [, int order]); 定义和用法 preg ...
- preg_match和preg_match_all()
preg_match - 执行匹配正则表达式 preg_match ( string $pattern , string $subject [, array &$matches [, int ...
最新文章
- Echarts柱状图的点击事件
- java异常类子类和父类的关系
- 如果人民币贬值,对股市会有什么影响?
- java护照号码校验_学无止境之小白学java……第001天
- foreach lambda写法_Java8新特性之forEach+Lambda 表达式遍历Map和List
- 2012-11-25学习笔记
- [已解决]从微软合作伙伴资源和MSDN下载系统和软件Microsoft download Manager无效
- JavaScript内存泄漏的几种情况
- 存量运营好工具:客户稳定度评分卡模型
- Hawkeye逃避机制和反调试技术分析
- 学习matlab(十四)——GUI
- 使用vcpkg安装cgal前安装yasm报错
- JEECMS——源码下载和安转运行
- 鸿蒙秘境怎么玩,鸿蒙秘境
- 中国国内驾照在韩国换驾照的经过
- 皮卡丘(pikachu) 文件上传
- 第三方支付“快钱”的经营策略
- Machine Learning Stanford (week 2)
- 单片机MCU51系列RTOS多任务超微操作系统精髓 简单实现 汇编及C语言混合 keil9.0工程源码
- 电子签章结构以及规范讲解
热门文章
- 山西农业大学c语言答案,作业答案
- 小米手机能用上鸿蒙吗,鸿蒙系统小米手机能用吗?鸿蒙系统支持第三方手机!
- 服务器运维管理系统哪个好用,宝塔和云帮手哪个服务器运维管理工具好用?
- python c 混合编程 用c循环_混合编程:用 C 语言来扩展 Python 大法吧!
- python的for循环累加_在python中将6 for循环累计和矢量化
- 九宫格C语言递归程序,[置顶] C语言递归实现N宫格(九宫格)源码
- LINUX CP 命令强制覆盖功能开启/关闭
- MySQL 错误 #1055
- python斐波那契数列前20项_Python每日一练之实现斐波那契数列
- mac mysql 端口被占用_【Docker】安装MySQL彻底解决3306端口占用问题