regex 正则表达式匹配字符串中任何地方出现至少10次的字符

mdfafbf1  于 2023-10-22  发布在  其他
关注(0)|答案(3)|浏览(118)

我是一个新手,试图创建一个正则表达式来匹配字符串中出现至少10次的“@”符号。例如,在10个或更多的电子邮件地址中。
我认为最简单的方法就是匹配10个或更多的'@'字符,就像这样[@]{10,},但这不起作用,因为它要查找10个或更多连续的@字符。
我得到了一个有点迷失试图使它匹配非连续字符,所以我需要你的帮助,请。
更新-感谢你们所有人的帮助unfortuantely我不能得到任何这些工作在MS Exchange在线,因为它看起来像它只支持有限版本的正则表达式.

有人能提出一种在这些限制条件下做到这一点的方法吗?

vpfxa7rd

vpfxa7rd1#

可以将每个@看作前面有0个或多个非@字符:

[^@]*@

然后重复10次:

(?:[^@]*@){10}
kt06eoxx

kt06eoxx2#

@之间添加.*

(.*?@){10}

不情愿的量词*?(匹配尽可能少的字符)使它比熟悉的贪婪的.*更有效,后者会疯狂地回溯。

44u64gxh

44u64gxh3#

([^@]@[^@]){10,}至少匹配字符串中的10 @,该字符串由其他字符分隔

相关问题