Splunk 正则表达式字段提取

Splunk Regex field extraction

我想提取字符串的某个部分,例如:

输入

\host1\teams\team1\bla\bla\bla
\host1\teams\team2\bla\bla
\host1\teams\team3\bla
\host1\teams\team4

输出

team1
team2
team3
team4

我有一个适用于 Regex101.com 的正则表达式,但是,当我将它带到 Splunk 时,它 returns 这个错误 Regex: missing terminating ] for character class 而我不能。

正则表达式是:

(^\\host1\teams\)(?P<Team>[^\]+)

示例数据:

"\host1\teams\team1","abc123","def678"

更新:

regex101 example

使用 Splunk 的 rex 命令的困难之一是正确转义。看起来 Splunk 正在将 "[^\]" 解释为 "[^\]",因此它认为括号不匹配。尝试使用额外的反斜杠或尝试 (^\\host1\teams\)(?P<Team>[\w]+).