2011-05-20 72 views
2

我的問題很簡單,假設我想匹配一個單詞中的元音,但是我想按照特定的順序匹配它們,例如a,e,i,o,u。我會如何去做這件事?正則表達式匹配排序

回答

7

所以你在尋找a後跟一些字符,然後e後跟一些字符,等等?

換句話說,a其次是不是e,然後e。然後是不是i然後i。那麼不是o然後o。最後,這不是u,最後是u

在正則表達式而言,這是a[^e]*e[^i]*i[^o]*o[^u]*u

(你可以用.*?獲得通過,但爲什麼這樣做時,你可以更精確地定義你的意思。)

+1

你忘了一些*在那裏,但我認爲任何人都會udnerstand。 – 2011-05-20 02:16:57

+4

略有改進: a [^ eiou] * e [^ aiou] * i [^ aeou] * o [^ aeiu] u – Alvin 2011-05-20 02:26:43

+0

所以我做了!添加缺少的* s。 – VoteyDisciple 2011-05-20 02:28:34

-3

你的意思是按字母順序排列?

不幸的是,你不能用一個正則表達式來做到這一點。對每個元音使用一個正則表達式。

0

我會去的:

a.*?e.*?i.*?o.*?u 

但這有指出由阿爾文到Votley的回答評論了同樣的問題。這是由於這個問題沒有足夠詳細說明。沒有具體說明優先事項。