php中函数preg_match或preg_match_all 第三个参数$match的解释
理解自: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匹配到的文本啊。。。。。。
php中函数preg_match或preg_match_all 第三个参数$match的解释的更多相关文章
- PHP 正则表达式匹配函数 preg_match 与 preg_match_all
preg_match() preg_match() 函数用于进行正则表达式匹配,成功返回 1 ,否则返回 0 . 语法: 1 int preg_match( string pattern, strin ...
- php 函数preg_match、preg_match_all ,以及正则表达式规则
<?php $str = 'php is the best language phhhhp is'; $part = '/ph{1,}p/'; echo preg_match($part, $s ...
- object C—类中函数的调用
Object C-类中函数的调用 创建,三个类.然后,在代码中调用相同名字的函数.观察他们的调用次序. @interface test : NSObject - (void)print; @end @ ...
- 三种语言(c++、as、lua)中函数的差异性
对于不同的语言, 尤其是静态语言和动态语言, 对于函数的定义(即如何看待一个函数)和处理截然不同.具体来说可以分为两类: 1.将函数视为第一类型值, 即函数和其他的对象一样, 都是语言中一个普通的对象 ...
- C++ Primer学习笔记(三) C++中函数是一种类型!!!
C++中函数是一种类型!C++中函数是一种类型!C++中函数是一种类型! 函数名就是变量!函数名就是变量!函数名就是变量! (---20160618最新消息,函数名不是变量名...囧) (---201 ...
- 对Python中函数参数类型及排序问题,三个方面的总结
Python中函数的参数问题有点复杂,主要是因为参数类型问题导致的情况比较多,下面来分析一下. 参数类型:缺省参数,关键字参数,不定长位置参数,不定长关键字参数. 其实总共可以分为 位置参数和关键字参 ...
- 学以致用三十二-----python中函数的括号使用
一直以来对python中函数括号的使用,有点分不清楚,到底什么时候用括号,什么时候不用括号,造成了很大看困惑. 今天来总结下. class aaa(): y = 'you' def __init__( ...
- JavaScript中函数函数的定义与变量的声明<基础知识一>
1.JavaScript中函数的三种构造方式 a.function createFun(){ } b.var createFun=function (){ } c.var createFun=new ...
- oracle中函数和存储过程的区别和联系【转载竹沥半夏】
oracle中函数和存储过程的区别和联系[转载竹沥半夏] 在oracle中,函数和存储过程是经常使用到的,他们的语法中有很多相似的地方,但也有自己的特点.刚学完函数和存储过程,下面来和大家分享一下自己 ...
随机推荐
- e556. 在程序中播放音频
try { URL url = new URL("http://hostname/audio.au"); AudioClip ac = Applet.newAudioClip(ur ...
- mysql命令行远程登录命令
mysql -u root -psalon365365 -h 192.168.1.103 -P 3 306 -D empirecms
- atitit.javascript调用java in swt attilax 总结
atitit.javascript调用java in swt attilax 总结 1. BrowserFunction 简单介绍1 1.1. BrowserFunction 能够分为三类: 1 1. ...
- R语言低级绘图函数-title
title 函数用来在一张图表上添加标题 基本用法: main 表示主标题,通常位于图像的上方, sub 表示副标题,位于图像的下方, xlab 表示x轴的标签,ylab 表示y轴的标签 par(om ...
- dirname(__FILE__) 介绍
简单地说: __FILE__ 返回当前 路径+文件名 dirname(__FILE__) 返回当前文件路径的 路径部分 (后面没有“\”号) dirname(di ...
- Linux安装php运行环境
安装apache: yum install httpd httpd-devel 启动apache: /etc/init.d/httpd start 此时输入服务器的IP地址,应该看到apache的服 ...
- mongodb select php操作 命令行操作
下面说一下,mongodb select的常用操作 测试数据 { "_id" : 1, "title" : "红楼梦", "aut ...
- 【java】 java 设计模式(1):工厂方法模式(Factory Method)
工厂方法模式分为三种: 1.普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建.首先看下关系图: 举例如下:(我们举一个发送邮件和短信的例子) 首先,创建二者的共同接口: p ...
- NHibernate之映射文件配置说
1. hibernate-mapping 这个元素包括以下可选的属性.schema属性,指明了这个映射所引用的表所在的schema名称.假若指定了这个属性, 表名会加上所指定的schema的名字扩展为 ...
- Cocos2d-x 3.0 Lua编程 之 响应Android手机的按键
演示样例代码例如以下所看到的: local listenerKey= cc.EventListenerKeyboard:create() local function onKeyReleaseed(k ...