当前位置: 代码迷 >> 综合 >> PHP:preg_match
  详细解决方案

PHP:preg_match

热度:51   发布时间:2023-12-18 19:31:12.0

preg_match — 执行匹配正则表达式

说明
int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )

flags可以被设置为以下标记值:

PREG_OFFSET_CAPTURE     (这会改变填充到matches参数的数组)
如果传递了这个标记,对于每一个出现的匹配返回时会附加字符串偏移量(相对于目标字符串的)。

offset
通常,搜索从目标字符串的开始位置开始。可选参数 offset 用于 指定从目标字符串的某个位置开始搜索(单位是字节)。


<?php

    //要搜索的模式,字符串类型。
    $pattern = '/(preg)_(match)/';    //( )  标记一个子表达式的开始和结束位置。
    //输入字符串。
    $subject = 'testpreg_match testpreg_match';
    //$matches[0]将包含完整模式匹配到的文本, $matches[1] 将包含第一个捕获子组匹配到的文本,以此类推。
    
    preg_match($pattern , $subject , $matches);
    print_r($matches);
    
/*结果:
    Array
(
    [0] => preg_match
    [1] => preg
    [2] => match
)*/

?>

分析:

搜索出给定的正则表达式的一个匹配;
在第三个参数中获得匹配的结果,其中$matches[0]完整的匹配结果,$matches[1]及以后的是逐次排序 得出 ()子表达式中得到的结果