首页 > 编程 > PHP > 正文

PHP学习之深入理解正则反引用和转义符

2020-03-22 20:22:51
字体:
来源:转载
供稿:网友
本篇文章主要讲述的是html' target='_blank'>正则表达式的反引用和转义符的原理以及应用,具有一定的参考价值,感兴趣的朋友可以了解一下。

一、正则反引用

正则表达式,在PHP中我经常能用到。用的场景也很多,比如,正则匹配字符串,判断字符是否存在,正则替换等等。

例子一:

$string = abcd $re = preg_replace( /(a)/ , /1A ,$string);echo $re;//结果// aAbcd

这里用到了正则的捕获组概念和反引用。

解释:

捕获组我们可以从第一个`(` 向后数, 第一个括号里面匹配到的内容,我们可以用 /1 来引用,为了看的明显,特意拼接了 `A` ,其实我们还可以用 $+数字来表示第几个捕获组。 这里可以用$1,效果和/1一样。

例子二:

$string = abcd $re = preg_replace( /(a)/ , $1B ,$string);echo $re;//aBbcd

二、转义符

什么是转义符?

在PHP中我们用 `/` 来转译一些特殊的字符。

例子三:

$string = abcd $re = preg_replace( /(a)/ , /1B ,$string);echo $re;//结果//aBbcd

解释: 这里的 /1 把是作为捕获组的反引用。

例子四:

$string = abcd $re = preg_replace( /(a)/ , //1B ,$string);echo $re;//结果//aBcd

解释:这里的` //1 `,第一个`/`,转译了第二个`/`, 那么就成了 `/1B` , 其实效果和例子三的 `/1` 是一样的。

例子五:

$string = abcd $re = preg_replace( /(a)/ , ///1B ,$string);echo $re;///1Bbcd

解释:这里的`///1`,第一个`/`,转译了第二个`/`,那么就剩下了`//1`,`//` 输出 `/`,最后,就剩下 `1`了。

三、总结

1、PHP正则中的反引用,/1 和 $1 效果是一样的,我们都可以拿来用。

2、PHP正则中的转义符,当遇到多个`/` 的时候,我们可以先 去掉 一个,然后,在去匹配。这样就好理解啦。

相关教程:正则表达式视频教程

以上就是PHP学习之深入理解正则反引用和转义符的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表