【问题标题】:Backreference to named capture group in notepad++ not working对记事本++中命名捕获组的反向引用不起作用
【发布时间】:2021-06-02 22:04:01
【问题描述】:

根据docs,我应该能够访问命名的捕获组,但我似乎无法让它工作。

例如:

要搜索的文本:

Can you find me?

以下正则表达式查找失败:

(?!)(?<a>find me)|\g{a}
(?!)(?<a>find me)|\g'a'
(?!)(?<a>find me)|\g<a>
(?!)(?<a>find me)|\k{a}
(?!)(?<a>find me)|\k'a'
(?!)(?<a>find me)|\k<a>

但是,这成功了:

(?!)(?<a>find me)|(?1)

我做错了什么吗?我正在使用 v7.9.5。

【问题讨论】:

    标签: notepad++


    【解决方案1】:

    这不起作用的原因是因为我使用的符号表示匹配之前匹配的内容。因此,如果该正则表达式上次匹配 foo,这意味着它需要匹配 foo 这一次。在 OP 的情况下,由于以前从未匹配过任何内容,因此现在不会匹配任何内容。

    我想要的是运行那个匹配模式。为此,符号为(?&amp;a)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-04
      • 1970-01-01
      相关资源
      最近更新 更多