我有一个很长的字符串
$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
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
使量词不合适。在?
之后立即添加*
。
答案 1 :(得分: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);