php preg_match()第三个参数
来源:互联网 发布:淘宝免费旺铺模板下载 编辑:程序博客网 时间:2024/05/22 15:39
php手册中是这样解释的
matches
如果提供了参数matches
,它将被填充为搜索结果。 $matches[0]将包含完整模式匹配到的文本, $matches[1] 将包含第一个捕获子组匹配到的文本,以此类推
到底是什么意思呢?
$matchs[0]很好理解,就是整个$pattern 匹配的文本,
$matchs[1]包含第一个捕获子组匹配到的文本,
列子:
$pattern = '/^(http:\/\/)?([^\/]+)/i';$subject = 'http://www.php.net/index.html';preg_match_all($pattern,$subject,$match);var_dump($match);
输出
array (size=3) 0 => array (size=1) 0 => string 'http://www.php.net' (length=18) 1 => array (size=1) 0 => string 'http://' (length=7) 2 => array (size=1) 0 => string 'www.php.net' (length=11)
数组中第一个$matchs[0]就是整个$pattern匹配到的文本元素
$pattern = '/^(http:\/\/)?([^\/]+)/i'; 这是正则表达式
$matchs[0] 就是整个正则匹配到的文本
$matchs[1] 匹配到的是子组 (http:\/\/) 匹配到的文本 所谓的子组 其是就是增则表达式里的一对对()。(http:\/\/) 是第一对
$matchs[2] 匹配到的是子组(^\/+) 匹配到的文本 (^\/+)是第二对
理解了么?
我是理解了
$matches[1] 将包含第一个捕获子组匹配到的文本。
就真的是第一个子组 也就是()中pattern匹配到的文本啊。
以上 原文地址:http://www.cnblogs.com/tumio/p/5390268.html
自己遇到的一个例子 比如:
$key='ad1_image_url';$value='data/files/mall/template/2016081708483821016.jpg'$ads=array();
if(preg_match("/^ad(\d+)_image_url$/",$key,$matches)){ $ads[$matches[1]]['ad_image_url'] = $value;}
这个时候打印$ads 结果如下:
很明显是个数组,里面有一个键值对
在打印 $ads[$matches[1]] 结果如下:
通过对比 就可以看出来 正则表达式中 第一对() 是匹配的数字,也就是上面$key中的1, 然后我把它当数组的键,用于存储$value,也就是说 $matches[1] 的值就是正则表达式里第一个 ()所匹配的内容。
补充; preg_match() 和preg_match_all() 有区别,前者是匹配到一个就停止,后面的不再进行匹配,后者是从all上也可以看出来,是匹配到字符串结尾。
综上所述,懂了 (→_→)
- php preg_match()第三个参数
- PHP preg_match()
- php函数 ~ mkdir的第三个参数
- PHP preg_match函数
- PHP preg_match 应用
- PHP preg_match 用法
- php preg_match用法介绍
- php preg_match的使用
- PHP正则表达式--preg_match
- strconv第三个参数
- inflate第三个参数
- array_walk:第三个参数
- PHP 正则表达式 (preg_match)
- PHP preg_match正则表达式详解
- php preg_match 正则表达式 介绍
- PHP preg_match正则表达式详解
- PHP preg_match正则表达式详解
- php preg_match 正则表达式 介绍
- 百度地图-marker 标 内容
- 系统第一次起来有交互信息
- PHP本地API接口测试工具
- 【今日头条2017内推笔试题】数组序列
- 组合数问题
- php preg_match()第三个参数
- Spring MVC之@RequestMapping 详解
- 【Java面试整理之JVM】深入理解JVM结构、类加载机制、垃圾回收GC原理、JVM内存分配策略、JVM内存泄露和溢出
- POJ 2255 二叉树遍历 已知前序遍历 中序遍历 求后序遍历
- Windows10下JDK、eclipse与SDK及ADT的配置
- 创建spring boot 项目
- 算法系列——Lowest Common Ancestor of a Binary Tree
- Unable to create positive samples
- contenttype类型对照表