请看下面代码:
<?php
/**
* 验证零字符代码
* **/
$regex = '//he(?=l)lo/i';
$str = 'hello';
$matches = array();
if(preg_match($regex, $str, $matches)){
var_dump($matches);
}
?>
正确结果:无任何输出,如果你已深知此中原委那就没必要往下看了,否则请看下面代码:
<?php
/**
* 验证零字符代码
* **/
$regex = '//he(?=l)llo/i';
$str = 'hello';
$matches = array();
if(preg_match($regex, $str, $matches)){
var_dump($matches);
}
?>
输出结果:
array(1) {
[0]=>
string(5) "hello"
}
细细品味吧!
说明:(?=l)意思是HE后面紧跟一个l字符。但是(?=l)本身不占字符,要与(l)区分,(l)本身占一个字符。
转载请注明出处:php1234.cn ,原文地址:http://php1234.cn/a/xiulianzhilu/2016/0905/51.html