我正在使用它作为我的测试字符串: “butter butter butter1 butter_ .butter.butter”
我的目标是用文本“yum”替换任何一个“黄油”或“黄油”的实例,并在其两侧加上非单词字符。我想最终得到一个如下所示的字符串:“yum yum butter1 butter_ .yum.yum”
我正在努力解决这个问题,因为当我构建自己的正则表达式时,我最终错过了“黄油”的第一个和最后一个实例,我无法将正则表达式锚定到开头/结尾,因为它会错过“黄油”的实例“在中间。
谢谢你!编辑:
Javascript,Perl或Ruby是完全可以接受的语言。很抱歉将其遗漏,并感谢那些回复失踪信息的人。
答案 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");