正则表达式 - 试图获取从字符串中提取的 5 位数单词(presto)

Regex - trying to get the 5 digit words extracted from the string (presto)

我正在尝试检索括号中的每个 5 个数字/字母序列,就像这个例子一样:

accuracy of action - [1232d, 74294, qw23t, 23d45, 76wer, 12874] march

我想从中提取 1232d 74294 qw23t 23d45 76wer 12874

我知道我可以只提取方括号中的一个 5 位数字序列 \[[a-z0-9 ]{5,7}\] 但我不知道如何检索各种 5 位数字序列。

现在,由于 [...] 中的所有单词都由 5 个字母数字字符组成,您可以使用

(?:\G(?!^),\s*|\[)(\w+)(?=[^\]\[]*])

参见regex demo

详情:

  • (?:\G(?!^),\s*|\[) - 前面成功匹配的结尾和逗号以及零个或多个空格,或者 [ char
  • (\w+) - 第 1 组:一个或多个单词字符
  • (?=[^\]\[]*]) - 后跟 [] 以外的零个或多个字符,然后是 ].