質問

これを読みました PHP正規表現ページ, 、しかし、私が何かを見逃しているか、何かを読み間違えているか、または彼らが言うように機能しません。最初の2つのうちの1つだと思います。

$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;"
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top