正则表达式帮助:使用\ W替换

时间:2011-11-26 00:03:13

标签: regex

我正在使用它作为我的测试字符串: “butter butter butter1 butter_ .butter.butter”

我的目标是用文本“yum”替换任何一个“黄油”或“黄油”的实例,并在其两侧加上非单词字符。我想最终得到一个如下所示的字符串:“yum yum butter1 butter_ .yum.yum”

我正在努力解决这个问题,因为当我构建自己的正则表达式时,我最终错过了“黄油”的第一个和最后一个实例,我无法将正则表达式锚定到开头/结尾,因为它会错过“黄油”的实例“在中间。

谢谢你!

编辑:

Javascript,Perl或Ruby是完全可以接受的语言。很抱歉将其遗漏,并感谢那些回复失踪信息的人。

4 个答案:

答案 0 :(得分:1)

echo ""butter butter butter1 butter_ butter butter"|perl -pe 's{\bbutter\b}{yum}'

答案 1 :(得分:1)

根据你的正则表达方言,(^|\W)butter(\W|$)可能会有所帮助。但\b可能更明智。

答案 2 :(得分:0)

使用\b,使用字符集\bbutter\b word boundaries

{{1}}

答案 3 :(得分:0)

以下是我在c#

中的表现
Regex regex = new Regex("\bbutter\b", RegexOptions.None);

var newString = regex(butterString, "yum");