PHP preg_match转义字符

时间:2016-03-21 18:18:53

标签: php regex

所以我对正则表达式有以下问题:

我想要实现的目标:获取命名空间的最后一个元素,在本例中为" BAZ"

为此,我使用下面的正则表达式:

preg_match("/[^\\]*$/", 'Foo\Bar\Baz', $output);

出于某种原因,我收到了这个错误:

  对于偏移量为6的字符类,

preg_match():编译失败:缺少终止]

1 个答案:

答案 0 :(得分:3)

你需要加倍转义\\,因为在PHP中输入正则表达式作为字符串,其中要求每个文字\\\,正则表达式引擎需要额外转义每个\所以你最终得到4 \

preg_match('/[^\\\\]*$/', 'Foo\Bar\Baz', $output);