4
我看過這個PHP RegEx page,但是我錯過了某些東西,誤讀了某些東西,或者它們不像他們說的那樣工作。我猜這是前兩個之一。您如何在PHP中使用對PCRE的反向引用?
$str = preg_replace("([|]\d*)", "\1;", $str);
我看過這個PHP RegEx page,但是我錯過了某些東西,誤讀了某些東西,或者它們不像他們說的那樣工作。我猜這是前兩個之一。您如何在PHP中使用對PCRE的反向引用?
$str = preg_replace("([|]\d*)", "\1;", $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;"
請注意,'$ n`反向引用語法優於'\\ n`。手冊說。 – Geert 2009-07-09 08:38:39