preg_replace() 只替换一个模式但匹配另一个模式

preg_replace() replace only one pattern but match another pattern

我正在尝试用 preg_replace()

替换字符串

我只想替换一个模式 'bbb' 但我想匹配该模式和另外两个('aaa' 和 'ccc'),例如

input                 : 'zzz aaa bbb ccc xxx'
pattern to match      : 'aaa bbb ccc'
output                : 'aaa ccc'

是否可以仅使用 preg_replace() 而无需调用 preg_match()

您可以使用:

echo preg_replace('/.*?(\baaa\b) +\bbbb\b +(\bccc\b).*/', ' ', 'zzz aaa bbb ccc xxx');
//=> aaa ccc