【发布时间】:2012-08-01 03:32:45
【问题描述】:
我有一个包含前缀为 A_B_ 的字符串的文本文件。
示例:A_B_Monday
我想用X_Y_* 替换所有出现的A_B_*,除非* 是C。
所以所有A_B_* 但不是A_B_C 的字符串都必须替换为X_Y_*。
在perl中应该怎么做?
编辑:1 上面的 * 是一个字符串。所以所有不是 A_B_Geneva 的 A_B_* 都应该替换为 X_Y_NewYork。 perl -pi.bak -e 's/^A_B_(!Geneva)/X_Y_/g;' File.Txt 似乎不起作用。我在 Strawberry Perl 上。
更新: 这对我有用 perl -i.bak -pE "s/A_B_(?!Geneva)/USB_EP_/g" File.Txt
【问题讨论】:
-
正如已经两次指出的那样,
A_B_Genevaxxx将失败
标签: string perl substitution