8.1. 向前查看

未匹配的标注

官方解释:指定了一个必须匹配但不用在结果中返回的模式

俗话说:从一个指定位置向前匹配,然后这个指定位置还不会在结果中显示

它的语法是一个以 ?= 开头的子表达式,写在 = 的后面值会匹配但不会被返回显示

任何子表达式都可以转换为向前查看表达式,只要在其之前加上一个 ?= 即可。在同一个搜索模式里可以使用多个向前表达式,出现的位置没有任何限制。

例子:匹配 : 前面的字符,但不包含 :

<?php

//字符串
$str = "
https://www.baidu.com
http://www.google.com
";

//正则表达式
$regular = '/.+(?=:)/';

//执行匹配正则表达式
preg_match_all($regular, $str, $matches);

//打印结果
echo '<pre>';
print_r($matches);
echo '</pre>';

输出结果

Array
(
    [0] => Array
        (
            [0] => https
            [1] => http
        )

)

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~