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
)
)