【问题标题】:Regular expression: how to deal with character /正则表达式:如何处理字符/
【发布时间】:2018-04-24 11:54:05
【问题描述】:

我正在使用 grafana 获取 zabbix 代理数据。

我只需要匹配以下值之一:

C 上的可用空间:(百分比)

/(百分比)上的可用空间

这个表达式不允许匹配第二个:

/^(Free space on C: (Percentage)|Free Space on \/ (Percentage))$/

即使是在线正则表达式文本也不匹配。

我很确定问题出在 / 字符上。

【问题讨论】:

  • 不应匹配其中任何一个。您必须转义括号。 Check this

标签: regex linux debian grafana zabbix


【解决方案1】:

试试这个:

/^Free [Ss]pace on (?:C:|\/) \(Percentage\)$/gm

Demo

【讨论】:

    【解决方案2】:

    要匹配您的值之一,您必须转义 \ (Percentage) 周围的括号

    ^(Free space on C: \(Percentage\)|Free Space on \/ \(Percentage\))$

    如果您只想匹配您的值,可以使用非捕获组^(?:

    【讨论】:

      【解决方案3】:

      如果你像这样用正斜杠转义正斜杠呢?

      /^(Free space on C: (Percentage)|Free Space on // (Percentage))$/
      

      Demo

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-04-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-19
        • 1970-01-01
        • 2018-04-19
        • 2011-07-03
        相关资源
        最近更新 更多