使用正则表达式将特殊字符插入到图案中

Jef*_*ffz 1 php regex

我有一个模式 - 像这样:

word1|some stuff word2|some stuff word3|some stuff
Run Code Online (Sandbox Code Playgroud)

我想@在一个单词后跟管道添加字符(管道前的单词不同) - 得到这样的东西:

@word1|some stuff, @word2|some stuff @word3|some stuff
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

anu*_*ava 5

您可以使用:

$str = "word1|some stuff word2|some stuff word3|some stuff"; 

$result = preg_replace('/(\w+\|)/', '@$1', $str);
//=> @word1|some stuff @word2|some stuff @word3|some stuff
Run Code Online (Sandbox Code Playgroud)

正则表达式演示