繁体   English   中英

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

[英]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

我已经尝试了答案中的解决方案和一些但没有工作的解决方案。

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

尝试这个。 $仅导致找到最后一个匹配项。 \\b将标记单词边界,您将获得所有匹配。请参阅演示

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

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

我试过这个,它完美无缺。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM