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]\]/
PHP 正则表达式
关于 LearnKu
推荐文章: