【发布时间】:2013-08-08 23:11:11
【问题描述】:
我有一个长文本文件,我希望大部分内容保持不变,但某些短语需要翻译。这不完全是一个干净的搜索和替换...例如,我需要更改每次出现的 this...
lis r3, ha16(aLabel)
...进入这个:
lis r3, aLabel@ha
即我需要找到整个ha16(aLabel),从中捕获aLabel(可以是任何标识符文本,直到终止结尾括号),然后发出捕获文本的替换,然后是@ha。
我找到了很多 perl 搜索和替换的例子,但我没有遇到过我需要的东西,其他提到“perl”和“捕获”的帖子似乎没有解决我的问题问题......或者他们可能会这样做,而我太愚蠢了,无法意识到这一点。
【问题讨论】:
-
总是ha16还是可能有其他模式或者总是2个字母和2个数字?
-
@Prix - 我想要一个通用解决方案,但在这种特殊情况下,我需要搜索、捕获和替换两种模式:
ha16(identifier)-->identifier@ha和 @987654328 @ -->identifier@l。 (不,这不是错字,第二次转换删除了 'lo' 中的 'o'。)第二次转换可以在必须保留的同一行上跟在它后面的字符,但第一次没有。