php中函数preg_match或preg_match_all 第三个参数$match的解释
2024-10-21 06:35:44
理解自:http://www.cnblogs.com/vicenteforever/articles/1623137.html
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匹配到的文本元素
$matchs[1] 匹配到的是子组 (http:\/\/) 匹配到的文本
$matchs[2] 匹配到的是子组(^\/+) 匹配到的文本
理解了么?
我是理解了
$matches[1] 将包含第一个捕获子组匹配到的文本。。。
就真的是第一个子组 也就是()中pattern匹配到的文本啊。。。。。。
最新文章
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(69)-微信公众平台开发-功能概述
- TCP流量控制与拥塞控制
- C# 修改webbrowser 的 useragent
- JavaScript吸顶灯的实现
- Lambda Grinding Miller From Zenith
- TL-WR703 USB不稳定/当前的总结
- Java Instanceof
- JUnit4中的测试套件
- 带CheckBox的TreeView网上出错问题解决办法
- Codeforces Round #253 (Div. 1) B. Andrey and Problem
- (转)Nginx启动出错 error while loading shared libraries
- Java_web学习(一) jdk配置
- 如何在vue里面访问php?
- day06_JDBC学习笔记
- PHP查看编译参数
- vim常忘命令
- resource.h
- butterknife用法总结
- git仓库按时间、成员等维度分析统计
- Oracle12c中性能优化&;amp;功能增强新特性之重大突破——内存列存储新特性