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位数字
推荐文章: