【问题标题】:ag: search exact string, not a patternag:搜索确切的字符串,而不是模式
【发布时间】:2019-10-12 08:32:28
【问题描述】:

我的问题

我正在使用ag 在我的文件中搜索Application(service)。由于 ag 将字符串视为正则表达式模式,因此我必须转义括号并使用:

ag 'Application\(service\)'

这既麻烦又容易错过,尤其是当我的搜索中有多个正则表达式符号时。

我尝试了什么

  • 搜索手册
  • 转义正则表达式字符(有效,但容易出错)

我的问题

如何指示 ag 将搜索词视为文字字符串,而不是正则表达式模式?

【问题讨论】:

  • 你试过--literal/-Q吗?
  • 尝试使用带引号的文字并将您的字符串放在\Q\E 之间,就像\QApplication(service)\E 一样,据我所知ag 工具使用基于PCRE 的引擎,因此它最有可能工作,但不是肯定没用过那个工具。
  • @georg 太好了,不知道我是怎么错过的。回答它,我很乐意投票。
  • 这不是一个编程问题,而是一个“我如何使用 ag?”问题。

标签: regex ag


【解决方案1】:

您正在寻找的选项是

-Q --literal:不要将 PATTERN 解析为正则表达式。尝试从字面上匹配它。

@https://github.com/ggreer/the_silver_searcher/blob/master/doc/ag.1.md:

【讨论】:

    猜你喜欢
    • 2013-07-11
    • 2023-03-13
    • 2018-06-10
    • 2022-01-23
    • 2012-08-30
    • 2011-02-11
    • 2020-02-01
    • 2020-02-27
    • 2015-12-25
    相关资源
    最近更新 更多