一个可能的解决方案是在后面使用正面的外观:
(?<=n)n
它会给您以下的最终位置:
- n * n nn
- n * n * n n
- nn * n * n
正如Timothy Khouri所提到的 ,
积极的前瞻 更加直观
我更喜欢他的主张
(?=nn)n,更简单的形式是:
(n)(?=(n))
那将引用您想要的字符串的 第一个位置 , 并捕获group(2)中的第二个n 。
之所以这样,是因为:
- 可以在lookahead内部使用任何有效的正则表达式。
- 如果包含捕获括号, 则将保存反向引用 。
因此,group(1)和group(2)将捕获’n’表示的任何内容(即使它是一个复杂的正则表达式)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)