PHP如何理解正则反引用和转义符
本篇文章给大家分享的是有关PHP如何理解正则反引用和转义符,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
专注于为中小企业提供成都网站建设、做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业吉利免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
一、正则反引用
正则表达式,在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如何理解正则反引用和转义符
本文URL:http://azwzsj.com/article/ppjiee.html