正则表达式匹配所有子序列,重复字符

时间:2016-04-01 11:40:37

标签: regex sequence subsequence

例如,让我们采取序列

"aaaaaa". 

我希望正则表达式匹配所有子序列,包括重复字符。这意味着子序列的总数应该是5,而不是3。

澄清:

让我们计算我们的角色。我们的序列看起来像

"a1a2a3a4a5a6"

所有子序列均为:

"a1a2", "a2a3". "a3a4", "a4a5", "a5a6"

我可以在正则表达式中执行此操作吗?我目前正在用Java编程,我知道可以在那里开发算法,但我现在想避免这种情况。

1 个答案:

答案 0 :(得分:0)

您可以使用以下正则表达式:

(?=((a)\2))

请参阅demo

描述了在正前瞻中捕获重叠子串的技术here

不同之处在于你需要使用2个捕获组:一个是“功能”,技术,内部组,以确保我们匹配两个相同的连续符号,以及我们可以使用的外部组(ID#1)提取我们需要的值。