我一直都很困惑为啥\\转义符在正则表达式里要写成 \\\\
PHP里的正则表达式函数为preg_match()
例如
\n 匹配的是换行符
所以当我们想使用preg_match()进行正则表达式的匹配的时候
就是
pre_match('/\n/' ,$text)
为啥会是这样呢?
首先pre_match接受的是字符串形式的正则表达式文本
,字符串形式中\就具有转义的功能,因此不需要在对它进行转义
同样如果想匹配"\n"的字符串形式
首先你的正则表达式包含 \字符和n
就得使用\\\\四个符号了
前面两个经过字符处理后变成一个\字符,后面两个也一样
经过字符处理之后就变成了\\n在交给正则表达式处理
就变成了"\n"字符