正则表达式中的重叠匹配

正则表达式中的重叠匹配,第1张

正则表达式中的重叠匹配

一个可能的解决方案是在后面使用正面的外观:

(?<=n)n

它会给您以下的最终位置

    • n * n nn
  1. n * n * n n
  2. nn * n * n

正如Timothy Khouri所提到的 ,
积极的前瞻 更加直观

我更喜欢他的主张

(?=nn)n
,更简单的形式是:

(n)(?=(n))

那将引用您想要的字符串的 第一个位置并捕获group(2)中的第二个n

之所以这样,是因为:

  • 可以在lookahead内部使用任何有效的正则表达式。
  • 如果包含捕获括号, 则将保存反向引用

因此,group(1)和group(2)将捕获’n’表示的任何内容(即使它是一个复杂的正则表达式)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5567397.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存