Regex 正则表达式来确定字符串是否包含所有元音?

Regex 正则表达式来确定字符串是否包含所有元音?,regex,Regex,例如,所需的正则表达式将成功匹配“areriroru”,但不会匹配仅包含两个元音的“sadwdij”。一种可能性是枚举元音的所有排列。下面是120个元音中的前24个(所有的元音都是a)。请注意,这形成了一个长表达式,但为了清晰起见,我将其拆分为几行 a.*e.*i.*o.*u |a.*e.*i.*u.*o |a.*e.*o.*i.*u |a.*e.*o.*u.*i |a.*e.*u.*i.*o |a.*e.*u.*o.*i |a.*i.*e.*o.*u |a.*i.*e.*u.*o |a.*i

例如,所需的正则表达式将成功匹配“areriroru”,但不会匹配仅包含两个元音的“sadwdij”。

一种可能性是枚举元音的所有排列。下面是120个元音中的前24个(所有的元音都是
a
)。请注意,这形成了一个长表达式,但为了清晰起见,我将其拆分为几行

a.*e.*i.*o.*u
|a.*e.*i.*u.*o
|a.*e.*o.*i.*u
|a.*e.*o.*u.*i
|a.*e.*u.*i.*o
|a.*e.*u.*o.*i

|a.*i.*e.*o.*u
|a.*i.*e.*u.*o
|a.*i.*o.*e.*u
|a.*i.*o.*u.*e
|a.*i.*u.*e.*o
|a.*i.*u.*o.*e

|a.*o.*e.*i.*u
|a.*o.*e.*u.*i
|a.*o.*i.*e.*u
|a.*o.*i.*u.*e
|a.*o.*u.*e.*i
|a.*o.*u.*i.*e

|a.*u.*e.*i.*o
|a.*u.*e.*o.*i
|a.*u.*i.*e.*o
|a.*u.*i.*o.*e
|a.*u.*o.*e.*i
|a.*u.*o.*i.*e
在C#中,在将字符串与
*
匹配之前,可以对每个元音使用先行断言:

(?=.*a)(?=.*e)(?=.*i)(?=.*o)(?=.*u).*
如果您不关心元音的大小写,可以使用以下方法:

(?=.*[Aa])(?=.*[Ee])(?=.*[Ii])(?=.*[Oo])(?=.*[Uu]).*

请张贴您迄今为止尝试过的表达方式,并解释您遇到的问题。这不是McRegex,你只需要订购一个表达式。我是一个完全的Regex初学者,我甚至不知道从哪里开始:p我可以帮助你:。看一看头。每当字符串应该包含某个内容时,lookehead就是一种方法。谢谢,但仅仅告诉我我可以学习Regex;)并没有什么帮助为你的时间干杯:)@Geesh_SO-
*a.*e.*i.*o.*u.