【问题标题】:Catch Both Positive and Negative Numbers Using Grep使用 Grep 捕获正数和负数
【发布时间】:2015-10-02 11:54:30
【问题描述】:

我有代码,我使用 Grep 在一些 html 代码中搜索数字。

以下是我目前所拥有的:

grep -ioP '&deg;C">[0-9]*</a></p>' ${site}_ec_wk1

而不是为正数和负数设置两个条目,例如:

grep -ioP '&deg;C">[0-9]*</a></p>' ${site}_ec_wk1
grep -ioP '&deg;C">-[0-9]*</a></p>' ${site}_ec_wk1

我怎样才能只用一行来捕捉负数和正数?

【问题讨论】:

    标签: regex linux unix ubuntu grep


    【解决方案1】:

    我的想法是:

    grep -ioP '&deg;C">[-+]?[0-9]+</a></p>' ${site}_ec_wk1
                       ^^^^^     ^
                        add    change
    

    这将允许一个可选的符号(正负)并且还要求您的号码中至少有一位数字:+ 表示一个或多个,* 表示零或多个。

    【讨论】:

      【解决方案2】:

      - 符号使用量词:

      grep -ioP '&deg;C">-?\d*</a></p>' ${site}_ec_wk1
      

      【讨论】:

      • 刚刚测试过,它只显示正数。
      猜你喜欢
      • 2023-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-15
      • 1970-01-01
      • 2014-08-31
      • 2013-04-21
      相关资源
      最近更新 更多