一、正则反引用
正则表达式,在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正则中的转义符,当遇到多个`` 的时候,我们可以先"去掉" 一个,然后,在去匹配。这样就好理解啦。
继续阅读与本文标签相同的文章
-
基于融合计算?蚂蚁金服的在线机器学习是如何做的 | 9月19号栖夜读
2026-05-18栏目: 教程
-
从零开始入门 K8s| 详解 Pod 及容器设计模式
2026-05-18栏目: 教程
-
研发效能提升 36 计第二课:照亮问题,效能提升从可视化交付过程开始
2026-05-18栏目: 教程
-
如何加快 Node.js 应用的启动速度
2026-05-18栏目: 教程
-
生存还是毁灭?一文读懂挖矿木马的战略战术 | 开发者必读(067期)
2026-05-18栏目: 教程
