php 正则转义 $ 符号,一个斜杠不管用?

$pattern = "/\{\$/";
preg_match($pattern, $this->content, $matches);
var_dump($matches)

没有匹配到
但是改成两斜杠就管用了

阅读 3.7k
3 个回答

因为PHP里双引号内会解析变量,所以换成单引号,或再加个\即可。

$pattern = "/\{\$var/";    // $var变量  
$pattern = '/\{\$/';

在字符串里\本身就用为转义字符,所以在字符串里表示\需要使用\\。所以在对应$时,其实需要进行两次转意,也就是需要\\$

字符串中的单个\ 是不能被正确识别的 需要\\
有明大大 已经说得很详细了
$pattern = "/\\{\\$/";

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题