【问题标题】:regex parse multiple expressions正则表达式解析多个表达式
【发布时间】:2020-03-23 11:21:36
【问题描述】:

我需要使用正则表达式解析具有多个表达式的部分 url,表达式类似于 /abc/def (or) /z/a (or) /v/g。我有一个满足单个表达式的正则表达式,但不确定如何处理多个表达式。

(?<volga>.+?\/abc\/def.+?)

volga 是一个命名的捕获组。 上面的正则表达式满足 /abc 之前和 /def 之后的任何内容,同样的方式 url 也有 /z/a 和 /v/g。这是一种 /abc/def/ 或 /z/a 或 /v/g 可以存在于 url 中。如何编写一个检查所有上述表达式的正则表达式。

网址示例:

/api/com/abc/def/710660716/847170/
/api/com/z/a/

【问题讨论】:

  • 在 splunk 中使用 Spl 查询正则表达式。
  • 你知道正则表达式 OR: '|'尝试将其插入您的正则表达式中。
  • 我误解了这个问题。我以为您在寻找多个匹配项,而不是匹配多个模式。
  • | rex field=requestPath "(?&lt;volga&gt;.+?(\/abc\/def) | (\/z\/a) | (\/v\/g.+?)",这个正则表达式可以吗?

标签: regex splunk


【解决方案1】:

也许是这样的:

(?<volga>.+?\/((abc\/def)|(z\/a)|(v\/g)).*)
  • 匹配任何包含
    • abc/def
    • 或z/a
    • 或v/g

Regex101

【讨论】:

    猜你喜欢
    • 2012-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多