我想在Sublime Text
中进行以下替换操作(使用Perl正则表达式语法)。
I would loe [BACKSPACE][BACKSPACE]ve to play with you
应该成为
I would love to play with you
因此,对于每个[BACKSPACE]
,我想删除一个[BACKSPACE]
和一个字符。
存在一个问题:它们可能会相互影响:
I would loe [BACKSPACE][BACKSPACE]ve to play with you
将成为
I would loe [BACKSPACEve to play with you
如果我们使用.\[BACKSPACE\]
正则表达式。我认为它会起作用,因为正常的编码是顺序的并逐行进行。
我如何编写这样的正则表达式?
答案 0 :(得分:0)
这项任务基本上需要计算。 a n b n 语言is not regular,这是您需要的语言。所以,至少从理论的角度来看,正则表达式无法帮助你。
但实践理论与实践不同。
.(?<!\[BACKSPACE\])\[BACKSPACE\]
,直到它不会更改您的文档。 (那是negative lookbehind。)当您使用Sublime时,您可能会对其scripting API感兴趣。
关于正则表达式的知识,请尝试阅读J. Friedl的正则表达式一书。它对该主题有广泛而一致的报道。