记得之前,我在php中有要写一个正则匹配:要匹配一个字符串中的的一个反斜杠’\’,开始写的是
preg_match("%.+\\%",$str);
但却报了No ending delimiter ‘%’ found in Command line code的错误。于是写成了:
preg_match("%.+\\\\%",$str);
程序正常了,当时也没多管它。昨天翻看PHP手册的时候发现preg_replace函数中有说
To use backslash in replacement, it must be doubled (“\\\\” PHP string).
想了下,这里的”\\\\”应该是在php字符串中,”\\\\”先被转义成了”\\”,然后在正则中,”\\”才又被转义成了”\”。