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

资源魔 34 0
本篇文章次要讲述的是正则表白式的反援用以及本义符的原理和使用,具备肯定的参考代价,感兴味的冤家能够理解一下。

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开发自学 正则反引用 转义符

抱歉,评论功能暂时关闭!