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匹配到的文本啊。。。。。。

时间: 2024-12-14 18:09:49

php中函数preg_match或preg_match_all 第三个参数$match的解释的相关文章

PHP正则表达式中函数preg_match()与preg_match-all的简单使用

<?php $pattern='/[0-9]/';                                           //定义匹配的模式 $subject='weuyr3ui76as83s0ck9';                 //定义需匹配的对象 $m1=$m2=array();                                          //初始化两个空数组 $num1=preg_match($pattern, $subject, $m1);  

PHP 正则表达式匹配函数 preg_match 与 preg_match_all

preg_match() preg_match() 函数用于进行正则表达式匹配,成功返回 1 ,否则返回 0 . 语法: int preg_match( string pattern, string subject [, array matches ] ) 参数说明: 参数 说明 pattern 正则表达式 subject 需要匹配检索的对象 matches 可选,存储匹配结果的数组, $matches[0] 将包含与整个模式匹配的文本,$matches[1] 将包含与第一个捕获的括号中的子模式

php 函数preg_match、preg_match_all ,以及正则表达式规则

<?php $str = 'php is the best language phhhhp is'; $part = '/ph{1,}p/'; echo preg_match($part, $str,$ar1); var_dump($ar1); echo preg_match_all($part, $str,$ar); var_dump($ar); echo $ar[0][0]; 1 array 0 => string 'php' (length=3) 2 array 0 => arra

javascript中函数浅析

在脚本语言JavaScript中,函数的定义是由事件驱动或者当它被调用时可重复使用的代码块.在JavaScript的标准ECMAscript中,把函数表述为可以随时随地运行的语句.我个人是不认同ECMA的说法的,因为函数只有在发生调用的时候才会执行,否则就是一段毫无生气的代码.我们来具体认识认识函数. (一)首先是函数的定义: 在ECMAscript函数的定义是 关键字function 函数名( 参数){主体:return(返回值)};这四部分组成的,但是在脚本语言中函数的定义却分为三种方式定义

php小经验:解析preg_match与preg_match_all 函数

php小经验:解析preg_match与preg_match_all 函数 本篇文章是对php中的preg_match函数与preg_match_all函数进行了详细的分析介绍,需要的朋友参考下 正则表达式在 PHP 中的应用在 PHP 应用中,正则表达式主要用于:•正则匹配:根据正则表达式匹配相应的内容•正则替换:根据正则表达式匹配内容并替换•正则分割:根据正则表达式分割字符串在 PHP 中有两类正则表达式函数,一类是 Perl 兼容正则表达式函数,一类是 POSIX 扩展正则表达式函数.二者

用函数实现登陆功能(三次机会),然后在主函数中根据调用后的结果判断 登陆成功与否。

/*3.用函数实现登陆功能(三次机会),然后在主函数中根据调用后的结果判断登陆成功与否.*/#include <string.h>int numb(char use[] ,char password[] ){ if((strcmp(use,"zhouyi")==0)&&(strcmp(password,"nb")==0)) { return 1; } else { return 0; } } #include <stdio.h>

C++ Primer学习笔记(三) C++中函数是一种类型!!!

C++中函数是一种类型!C++中函数是一种类型!C++中函数是一种类型! 函数名就是变量!函数名就是变量!函数名就是变量! 重要的事情要说三遍... 接 C++ Primer学习笔记(二) 类的构造函数 与类同名,且无返回类型. 同类的成员函数一样,也可以在类中声明,在类外定义. 格式: 类名(): 成员1(成员1初始化值), 成员2(成员2初始化值) { } 以上,冒号至大括号中间的部分,称为构造函数的初始化列表,用于调用类成员的构造函数来初始化. 没有在初始化列表中显式指定初始化的成员,将会

javascript中函数的四种调用模式详解

介绍函数四种调用模式前,我们先来了解一下函数和方法的概念,其实函数和方法本质是一样,就是称呼不一样而已.函数:如果一个函数与任何对象关系,就称该函数为函数.方法:如果一个函数作为一个对象属性存在,我们就称之为方法.接下来就可以开始今天的主体. 1.函数调用模式. 就是通过函数来调用,规范写法为:function fn(){} fn(); 函数中this的指向->window.案例如下: var age = 38; var obj = { age: 18, getAge: function() {

js中函数参数值传递和引用传递

js中函数参数值传递和引用传递:在阅读本章节之前建议参阅一下两章节:1.值类型可以参阅javascript的值类型一章节.2.引用类型可以参阅javascript的引用类型一章节.一.函数传递值类型:代码实例如下: function addNum(num) { num+=10; return num; } var num=10; var result=addNum(num); console.log(num); console.log(result); 以上代码的弹出值分别为:10和20,下面进