我写了一个正则表达式模式,当我在Regexr中测试它时,它完美地工作,但是当我在我的PHP代码中使用它时,它并不总是匹配。PHP的正则表达式反向引用不起作用
The regular expression,包括一些应该和不应该匹配的示例。
示例PHP代码应该匹配,但不会:
preg_match('/^([~]{3,})\s*([\w-]+)?\s*(?:\{([\w-\s]+)\})?\s*(\2[\w-]+)?\s*$/', "~~~ {class} lang", $matches);
echo var_dump($matches);
我相信这个问题是由最后捕获组(\2[\w-]+)
在逆向引用造成的,但是,我不能一刀弄清楚如何解决这个。
我喜欢,你怎么说明吧:) – 2014-09-21 16:30:00
谢谢,你和@hwnd帮我弄明白了。 – CupOfTea696 2014-09-21 21:26:06