Regex 用正则表达式从模式的每个实例中删除一次迭代?

Regex 用正则表达式从模式的每个实例中删除一次迭代?,regex,sublimetext2,Regex,Sublimetext2,假设我有以下文本: Lorem ipsum Door sit amet,奉献给精英们 阿巴布 但在这场危机中,浮士德·福西布斯是一位精英。阿巴巴巴布 多洛·阿巴巴布·维韦拉港口的Fusce nec tortor。aaB 我正试图找出如何执行正则表达式搜索并替换,以使输出为: 洛雷姆·伊普苏姆·多洛·西特,一位杰出的领袖 aaB 但在这本书中,浮士德·福西布斯讲述了他的一生。阿巴巴布 多洛·阿巴布·维韦拉港口的Fusce nec tortor 也就是说,从每个模式中删除一个“aaB”。这真的有可能

假设我有以下文本:

Lorem ipsum Door sit amet,奉献给精英们

阿巴布

但在这场危机中,浮士德·福西布斯是一位精英。阿巴巴巴布

多洛·阿巴巴布·维韦拉港口的Fusce nec tortor。aaB

我正试图找出如何执行正则表达式搜索并替换,以使输出为:

洛雷姆·伊普苏姆·多洛·西特,一位杰出的领袖

aaB

但在这本书中,浮士德·福西布斯讲述了他的一生。阿巴巴布

多洛·阿巴布·维韦拉港口的Fusce nec tortor


也就是说,从每个模式中删除一个“
aaB
”。这真的有可能吗?如果有,怎么做?具体来说,我打算在Sublime Text 2中这样做,作为文件中的正则表达式搜索/替换。

您可以使用正向前瞻:

(?=(?<w>[a-z]{2}[A-Z]{1})\s)\k<w>
(?=(?[a-z]{2}[a-z]{1})\s\k
您只需确保已启用区分大小写的匹配


示例:

使用前导或尾随空格删除第一个或最后一个子字符串。以下任一工作:

(\s+)(aaB)
替换字段中的
$1

(aaB)(\s+
,在替换字段中使用
$2