只替换单数词

时间:2012-09-17 10:53:47

标签: regex replace

我试图进行区分大小写的搜索,并在许多php文件中用region2替换单词region,即使是字符串中的单词,例如:123region456。

如果我开始用region2替换区域,则已存在的单词区域将变为region2s

如果我开始用regions2替换region,然后用region2替换region,则region2变为region2s2

如果只对字符串中的单词匹配单个单词?

谢谢

2 个答案:

答案 0 :(得分:2)

如果您想要替换regionregions,您应该同时匹配它们:

replace /region(s?)/ with "region$12"

如果您想独立匹配它们,可以使用negative lookahead

replace /region(?!s)/ with "region2"

答案 1 :(得分:0)

首先,使用word-boundarys。

在sed中,您使用\<...\>。即。

sed 's/\<region\>/region2/g'