使用RegEx从模式的每个实例中删除一次迭代?

时间:2014-05-14 20:12:35

标签: regex sublimetext2

假设我有以下文字:

  

Lorem ipsum dolor sit amet,consectetur aaBaaBaaB adipiscing elit。

     

aaBaaB

     

aaB Ut in risus quis elit posuere faucibus sed vitae metus。 aaBaaBaaBaaB

     

fusce nec tortor in dolor aaBaaBaaB porttitor viverra。 AAB

我正在试图弄清楚如何执行正则表达式搜索并以这样的方式替换输出:

  

Lorem ipsum dolor sit amet,consectetur aaBaaB adipiscing elit。

     

AAB

     

Ut in risus quis elit posuere faucibus sed vitae metus。 aaBaaBaaB

     

在dolor aaBaaB porttitor viverra中扮演nec tortor。

也就是说,从每个模式中删除一个“aaB”。这实际上是否可行,如果可行,它将如何完成?具体来说,我打算在Sublime Text 2中将其作为RegEx搜索/替换文件。

2 个答案:

答案 0 :(得分:1)

你可以使用积极的前瞻:

(?=(?<w>[a-z]{2}[A-Z]{1})\s)\k<w>

您只需要确保您具有区分大小写的匹配。

示例:http://regex101.com/r/sK8bG1

答案 1 :(得分:1)

使用前导或尾随空格删除第一个或最后一个子字符串。这些工作都是:

替换字段

中带有(\s+)(aaB)

$1

替换字段

中带有(aaB)(\s+)

$2