所以我对正则表达式有以下问题:
我想要实现的目标:获取命名空间的最后一个元素,在本例中为" BAZ"
为此,我使用下面的正则表达式:
preg_match("/[^\\]*$/", 'Foo\Bar\Baz', $output);
出于某种原因,我收到了这个错误:
对于偏移量为6的字符类,preg_match():编译失败:缺少终止]
答案 0 :(得分:3)
你需要加倍转义\\
,因为在PHP中输入正则表达式作为字符串,其中要求每个文字\
为\\
,正则表达式引擎需要额外转义每个\
所以你最终得到4 \
:
preg_match('/[^\\\\]*$/', 'Foo\Bar\Baz', $output);