1

例如让我们采取序列

"aaaaaa". 

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

澄清:

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

"a1a2a3a4a5a6"

所有子序列为:

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

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

4

1 回答 1

0

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

(?=((a)\2))

演示

此处描述了在正向前瞻内捕获重叠子串的技术。

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

于 2016-04-01T17:57:19.487 回答