非典型括号的正则表达式

Regular expression for untypical parentheses

示例输入:

Ala ma kota (ASD defect - 7) kot ma ale.

理想输出:

(ASD defect - 7)

如何从括号中解析这段文字?

在 Grok 中,您需要以下带有命名捕获组的正则表达式:

\((?<name>[^()]*)\)

这将匹配括号内的文本,不包括括号。要包含它们,只需将它们放入捕获组即可:

(?<name>\([^()]*\))

取反字符class [^()]*匹配除)(.

以外的0个或多个字符

更新:

关于使用嵌套捕获组,这里有一个例子:

(?<sth2>\bwid:\s*(?<wid>\d+))