2

長い紐を持っています

$str = "#10:19.out.#7:970.in.#8:19.out.#7:3128.in.#10:101.out.#7:3131.in.#15:19.out.#7:170917.in.#10:4517.out.#7:170909.in.#12:17593"

パターンを使用する場合

$pattern = "/out\..*in/"
$replacement = "";
$path = preg_replace($pattern, $replacement, $str);

次に、出力は#10:19..#12:17593

これは私のパターンの最長一致です。

文字列内の各一致を置き換えて、次のような結果を得たい

#10:19.#8:19.#10:101.#15:19.#10:4517.#12:17593

誰でも問題を解決するのを手伝ってもらえますか?

4

2 に答える 2

1

量指定子を欲張りにしないでください。?の直後にa を追加し*ます。

于 2012-06-08T07:18:57.927 に答える
0
$str = "#10:19.out.#7:970.in.#8:19.out.#7:3128.in.#10:101.out.#7:3131.in.#15:19.out.#7:170917.in.#10:4517.out.#7:170909.in.#12:17593";

$pattern = "/out\..*?in./";
$replacement = "";
$path = preg_replace($pattern, $replacement, $str);
于 2012-06-08T07:28:25.350 に答える