使用单引号
时preg_match("/Location:(.*?)\n/", 'Location: www.\n', $matches);
var_dump($matches);
打印:
array (size=0)
empty
使用双引号
时preg_match("/Location:(.*?)\n/", "Location: www.\n", $matches);
var_dump($matches);
打印
array (size=2)
0 => string 'Location: www.
' (length=15)
1 => string ' www.' (length=5)
为什么?
答案 0 :(得分:0)
这与preg_match
无关。当您使用单引号时,您的字符串不会以换行符结尾;它以反斜杠结尾,然后是n。
答案 1 :(得分:0)
来自PHP manual:
单引号
指定字符串的最简单方法是将其用单引号括起来(字符
'
)。要指定文字单引号,请使用反斜杠(
\
)对其进行转义。要指定文字反斜杠,请将其加倍(\\
)。反斜杠的所有其他实例将被视为文字反斜杠:这意味着您可能习惯的其他转义序列(例如\r
或\n
)将按字面输出指定而不是具有任何特殊含义。
答案 2 :(得分:-1)
看看这可以帮助你: