3.1. 转义

未匹配的标注

使用 元字符 \ 可以转义所有元字符,包括自身

<?php

//字符串
$str = '$arr[\0],$arr[\1]';

//正则表达式
$regular = '/\$arr\[\\\\[0-9]\]/';

//执行匹配正则表达式
preg_match_all($regular, $str, $matches);

//打印结果
echo '<pre>';
print_r($matches);
echo '</pre>';

输出结果

Array
(
    [0] => Array
        (
            [0] => $arr[\0]
            [1] => $arr[\1]
        )

)

你一定会有疑惑,为什么转义 \ 需要 4个 \ 才能转义呢?

那是因为 PHP 正则解释器在执行到 \\\\ 的时候,其实是拆开来解释的

先解释前面的 \\,因为 \ 遇到 \ 的时候会被转义,所以前两个斜杠转义后的结果为 \

然后在解释后面的 \\ ,得到 \

最后在执行的时候,才是我们想要的样子,以下是解释过程

/\$arr\[

\\    等于第一个    \

\\    等于第二个    \

[0-9]\]/

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~