你如何在PHP中使用对PCRE的反向引用?

时间:2008-08-19 19:11:33

标签: php regex

我读过PHP RegEx page,但要么我错过了某些东西,误读了某些东西,要么就像他们说的那样不起作用。我猜这是前两个中的一个。

$str = preg_replace("([|]\d*)", "\1;", $str);

1 个答案:

答案 0 :(得分:4)

您的正则表达式应遵循Perl语法,这意味着它必须以相同的字符开头和结尾(有一些例外)。此外,后引用应以双斜杠开头,以绕过PHP双重转义。这应该有效(快速测试):

$str = "asdfasdf |123123 asdf iakds |302 asdf |11";
$str = preg_replace("/([|]\d*)/", "\\1;", $str);
echo $str; // prints "asdfasdf |123123; asdf iakds |302; asdf |11;"