-3
例如,所需的正則表達式將成功匹配「areriroru」,但不匹配包含兩個元音的「sadwdij」。正則表達式來確定字符串是否包含所有的元音?
例如,所需的正則表達式將成功匹配「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,您只需訂購一個表達。 –
我是一個完整的初學者,使用正則表達式,我甚至不知道從哪裏開始:P –
有了這個,我可以幫你:http://www.regular-expressions.info/tutorial.html。看看* lookaheads *。每當一個字符串應該包含某個地方的東西時,lookeheads就是要走的路。 –