PHP头条
热点:

PHP正则反向摘引求解


PHP正则反向引用求解?
使用php反向捕获又不知道怎么回事了。

把下面字符串里面的4个连续的数外面的符号去掉。

fsdfsdafasfasdfsdf<{2365}>

,还请分析下我写的哪里有问题?


header("Content-type:text/html;charset=utf-8");
$str="fsdfsdafasfasdfsdf<{2365}>";
$mypreg="/<{(\d\d\d\d)}>/";//()里面表示4个连续的数,使用括号表示我捕获这个子表达式,一会引用
$mycon="\1"; //这个是替换内容,我反向引用上面的4个数字2365,用这4个数字替换上面有外符号的整块<{2365}>
echo $str;
echo "
";
$str=preg_replace($mypreg,$mycon,$str);
echo $str;


结果是能够捕获到<{2365}> 这个东东,但是反向引用怎么都没有内容,应该是反向引用错了,没有引用到内容。求指点。 分享到:
------解决方案--------------------
是不是没有指定子表达式的组名啊
要指定一个子表达式的组名,使用这样的语法:(?\w+)
word就是表达式的组名
放到后面引用的语法\k

我也是新学的 理解也不深
------解决方案--------------------
$mycon="\\1"; 
或者
$mycon='\1';

都可以

www.phpzy.comtrue/phprm/7790.htmlTechArticlePHP正则反向摘引求解 PHP正则反向引用求解? 使用php反向捕获又不知道怎么回事了。 把下面字符串里面的4个连续的数外面的符号去掉。 fsdfsdafasfasdfsdf 2365 }> ,还请分析下我写的哪里有...

相关文章

相关频道:

PHP之友评论

今天推荐