2019-01-14搞清楚正则表达式中的\\与\\\\

我一直都很困惑为啥\\转义符在正则表达式里要写成 \\\\


PHP里的正则表达式函数为preg_match()

例如

\n 匹配的是换行符

所以当我们想使用preg_match()进行正则表达式的匹配的时候

就是

pre_match('/\n/' ,$text)

为啥会是这样呢?

首先pre_match接受的是字符串形式的正则表达式文本

,字符串形式中\就具有转义的功能,因此不需要在对它进行转义


同样如果想匹配"\n"的字符串形式

首先你的正则表达式包含 \字符和n

就得使用\\\\四个符号了

前面两个经过字符处理后变成一个\字符,后面两个也一样

经过字符处理之后就变成了\\n在交给正则表达式处理

就变成了"\n"字符



所以在PHP中就得分别对对应的字符进行转义 //// => //

你可能感兴趣的:(2019-01-14搞清楚正则表达式中的\\与\\\\)