REGEX切换“a”或“b”之间的第n个字符

时间:2017-11-20 10:56:06

标签: regex

嗨,我有一个字符串,例如aaaaabbbaaaababababaaaaabaaa。现在我想能够去第N个地方,如果它是“a”替换为“b”,如果它是“b”替换为“a”。

如果无法使用REGEX完成此操作,那么使用“a”查找和替换第N个字符的REGEX模式是什么。

一直试图找出REGEX,但它比德国人更复杂:(

由于

1 个答案:

答案 0 :(得分:0)

某些正则表达式引擎中存在条件替换(至少是Boost,例如Notepad ++使用)。

假设您要在给定输入中切换第10个字符。使用此正则表达式找到它(正如您已设法):

(?<=^.{9})(?:(a)|b)

在该位置发生的字符将存储在组1中a,如果b则存在,否则存储在组3中。
如果找到ab,则使用该条件替换模式将切换它,否则将保持不变:

?1b:a

您可以在Notepad ++中点击“全部替换”按钮进行测试。

注意:条件替换的另一个例子here