PHP正则表达式反引用和转义符用法示例

发布时间:2024-04-21 点击:88
一、正则反引用
正则表达式,在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正则中的转义符,当遇到多个`\` 的时候,我们可以先”去掉” 一个,然后,在去匹配。这样就好理解啦。


阿里云服务器价格表2022
个人建立哪种网站更适合?免费个人网站制作步骤有哪些?
域名云空间的关系是什么?域名云空间的原理是什么?
企业免费注册网站域名都有哪些流程?
为什么要进行dns域名解析?dns域名解析有哪些过程?
美国高防云服务器d
亚马逊将推出智能购物车:无需收银员也不用排队支付
网店域名设置不了应该怎么办?