提问者:小点点

Regex:如何添加捕获组?


我当前有以下正则表达式:

\[(?:\w+\*?\s+)?([^][]+)]

我想添加另一个捕获组,这样我就可以捕获组之前的文本值。

例如:

Je naam (verplicht) [text* your-test]

我的正则表达式当前捕获[text*youl-test]。 我想添加另一个捕获“JeNaam(verplicht)”部分的组。

我怎样才能做到这一点呢?


共1个答案

匿名用户

您可以将此正则表达式与其他捕获组一起使用:

([^][\h]+(?:\h+[^][\h]+)*)?\h+\[(?:\w+\*?\h+)?([^][]+)]

更新的RegEx演示

  • ([^][\h]+(?:\h+[^][\h]+)*)?是一个新的可选捕获组,它将[...]之前的文本匹配并捕获到单独的组中。
  • [^][\h]+匹配一个或多个非[]和空白的任何字符。