正则表达式查找字符串中的所有匹配项

Regex to find all matches of from a string

我有字符串:

TEXT OF SWITZERLAND CASABLANCA, 2041 Cash 1234e

我想提取长度至少为 4 的所有字母数字值(强制数字),包括或不包括特殊字符 /\_:.\-|

下面是我试过的正则表达式。

(?=.{4,}$)(?=.*[0-9])([a-zA-Z0-9/\_:.\-|]+)$

但这只会捕获字符串中最后一个所需的模式。 我想捕获所有的值。在这种情况下 20411234e.

我尝试了 answers 和其他一些解决方案,但 none 有效。

\b(?=[a-zA-Z]*\d)[a-zA-Z0-9/\_:.\-|]{4,}\b

试试这个。$ 只会导致找到最后一个匹配项。\b 将标记单词边界,您将获得所有 matches.See 演示

https://www.regex101.com/r/fJ6cR4/15#python

添加到 VKS 的答案中,正则表达式无法匹配字符串 ABSTRD.910.824

我试过了,效果很好。

正则表达式: \b(?=[a-zA-Z/\_:\-.|]*\d)[a-zA-Z0-9/\_:\-.|]{4,}\b