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

时间:2020-03-05 18:40:50  来源:igfitidea点击:

我读了这个PHP RegEx页面,但是或者我丢失了一些东西,误读了一些东西,或者它不能像他们所说的那样工作。我猜它是前两个之一。

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

解决方案

回答

正则表达式应遵循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;"