【问题标题】:grep equivalent to pcre's `?` operatorgrep 相当于 pcre 的 `?` 运算符
【发布时间】:2013-08-27 21:01:51
【问题描述】:

使用 PCRE,您可以使用 ax?a 来查找像 aaaxa 这样的字符串。

你会如何为 grep 编写一个正则表达式来做到这一点?

【问题讨论】:

  • 这似乎可以解决问题 - 谢谢!

标签: regex grep pcre


【解决方案1】:

grep 默认使用 BRE,您可以使用 -P (PCRE) 或 -E (ERE) 选项。

例如:

kent$  echo "aa
axa
axxxxa"|grep -E 'ax?a'
aa
axa

使用 BRE,您必须转义像 ( ? + ... 这样的字符才能赋予它们特殊的含义。

【讨论】:

    【解决方案2】:

    在grep中,需要对量词进行转义:

    ax\?a
    

    【讨论】:

      猜你喜欢
      • 2013-08-30
      • 2012-04-23
      • 2011-06-27
      • 1970-01-01
      • 1970-01-01
      • 2011-06-05
      • 2010-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多