【问题标题】:Search and retrieve patterns from a list从列表中搜索和检索模式
【发布时间】:2014-11-23 14:19:28
【问题描述】:

假设我有一个模式列表,例如['AB', ')', '%%', '<.*>']。 我需要从光标位置开始向前或向后搜索其中之一。

找到第一个后,如何在列表中检索其索引?即,我怎么知道它是哪一个?

[编辑]:问题是我实际上有两个相同大小的列表。一旦在一个方向找到第一个匹配项,我需要在另一个方向搜索 对应的一个。 另外,每个模式都与特定的 precedence 相关联(它在列表中的索引),一旦找到,我需要检索它。

(总体思路是使用自定义分隔符和运算符构建能够回答this question 的内容。)

【问题讨论】:

  • 这和设计模式无关吧?
  • @JBNizet 嗯,我不太确定。要么我不知道设计模式是什么,它与我的问题无关,要么我不知道设计模式是什么,我应该知道,因为这将是我的问题的解决方案。在这两种情况下,我都觉得我应该问你.. 你所说的“设计模式”是什么意思? :P
  • @JBNizet 谢谢。好吧,我觉得它..确实不是,或者以一种非常懒惰的方式。我只需要知道如何在 vimscript 中实现 this'AB''<.*>' 只是 regex 模式。 ..?
  • 我不知道。对 vim 一无所知,并看到了您的问题,因为它被错误地标记为设计模式。

标签: regex list search vim


【解决方案1】:

知道了:带有'p' 标志的searchpos 函数允许您检索复合模式的匹配位置和ID,请参阅:help searchpos

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-10
    相关资源
    最近更新 更多