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