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

使量词不贪婪。紧跟?*.

于 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 回答