1、正则反援用
正则表白式,正在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
2、本义符
甚么是本义符?
正在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`了。
3、总结
一、PHP正则中的反援用,\1 以及 $1 成果是同样的,咱们均可以拿来用。
二、PHP正则中的本义符,当遇到多个`\` 的时分,咱们能够先"去掉" 一个,而后,正在去婚配。这样就好了解啦。
相干教程:正则表白式视频教程
以上就是PHP学习之深化了解正则反援用以及本义符的具体内容,更多请存眷资源魔其它相干文章!
标签: php php开发教程 php开发资料 php开发自学 正则反引用 转义符
抱歉,评论功能暂时关闭!