我是一个新手,试图创建一个正则表达式来匹配字符串中出现至少10次的“@”符号。例如,在10个或更多的电子邮件地址中。
我认为最简单的方法就是匹配10个或更多的'@'字符,就像这样[@]{10,},但这不起作用,因为它要查找10个或更多连续的@字符。
我得到了一个有点迷失试图使它匹配非连续字符,所以我需要你的帮助,请。
更新-感谢你们所有人的帮助unfortuantely我不能得到任何这些工作在MS Exchange在线,因为它看起来像它只支持有限版本的正则表达式.
有人能提出一种在这些限制条件下做到这一点的方法吗?
3条答案
按热度按时间vpfxa7rd1#
可以将每个
@
看作前面有0个或多个非@
字符:然后重复10次:
kt06eoxx2#
在
@
之间添加.*
:不情愿的量词
*?
(匹配尽可能少的字符)使它比熟悉的贪婪的.*
更有效,后者会疯狂地回溯。44u64gxh3#
([^@]@[^@]){10,}至少匹配字符串中的10 @,该字符串由其他字符分隔