正则表达式pcre替换不匹配组的匹配组?

时间:2016-06-18 16:19:35

标签: regex replace match regex-group

有人可以举个例子 例如,这个字符串

wordride plain fire

用另一个字母替换空格

例如,

替换

空格前第三个字母的第一个匹配空间

例如我想逐字替换字符 使用这个

   (?:\G(?!^)|word)\K.

逐字替换字样"字"作为小组

      (?:\G(?!^)|(word))\K.

使用$ 1 $ 2

但没有工作

如何解决这个问题

在这种情况下

     wordride plain fire
例如,当算法搜索" r"将此替换为" word"

获取

     wordwordide plain fire 

我希望逐字逐字地找到所有字母(r i d e .......) 并使用小组$ 1 $ 2等替换组字

请帮帮我

1 个答案:

答案 0 :(得分:0)

要使用已捕获的组替换word之后的字母,您可以使用:

$s = 'wordride plain fire';

$r = preg_replace('/(?>(word)|\G(?<!^))\K\S/', '$1', $s, 1);

//=> wordwordide plain fire 

RegEx Demo