9.3. 环视条件

未匹配的标注

环视条件只需要把上面括号的( 反向引用的序号 )替换为一个完整的环视表达式就可以了

例如:

<?php

//字符串
$str = '
11111
22222
33333-
44444-4444
';

//正则表达式
$regular = '/\d{5}(?(?=-)-\d{4})/';

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

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

输出结果

Array
(
    [0] => Array
        (
            [0] => 11111
            [1] => 22222
            [2] => 44444-4444
        )

)

\d{5} 匹配前面 5 位数字

(?(?=-)-\d{4}) 使用向前查看 ?= 来匹配一个 - 连字符,如果符合条件,那么 -\d{4} 将匹配该连字符和随后的4位数字。

这样一来 33333-就被排除了,因为它缺少后面要匹配的4位数字

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

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


暂无话题~