【发布时间】:2014-05-25 15:38:14
【问题描述】:
我有这样的文字:
Hi
... OK ... Replace ...
... BAD ... Replace ...
Hi
当且仅当“BAD”不在同一行的任何位置时,我想用“Done”替换所有“Replace”字符串。所以唯一应该修改的行是我给出的示例中的第二行。我正在努力做到这一点,我尝试了以下不起作用:
perl -i'' -pe 's/^(?!BAD)Replace/$1Done/g' TEST
这可以像我想要做的那样在一个表达式中完成吗?
【问题讨论】:
-
BAD必须在Replace字符串之前还是可以在行中的任何位置? -
两者都可以,因为永远不会出现 BAD 出现在 Replace 之后的情况。
标签: regex perl regex-negation substitution