正则表达式匹配订购

时间:2011-05-20 02:10:58

标签: regex matching

我的问题很简单,假设我想在一个单词中匹配元音,但我想按照特定顺序匹配它们,例如a,e,i,o,u。我该怎么做呢?

3 个答案:

答案 0 :(得分:8)

因此,您正在寻找a后跟一些字符,然后e后跟一些字符,依此类推?

换句话说,a后跟不是e,然后e的内容。然后那些不是i然后i的东西。然后那些不是o然后o的东西。最后不是u的东西,最后是u

在regexp术语中,a[^e]*e[^i]*i[^o]*o[^u]*u

(你可以使用.*?,但为什么这样做可以更准确地定义你的意思。)

答案 1 :(得分:0)

我会选择:

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

但这与Alvin对Votley的答案的评论中指出的问题相同。这是由于问题没有明确说明。没有指定优先级是什么。

答案 2 :(得分:-3)

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

不幸的是,你不能用一个正则表达式做到这一点。而是为每个元音使用一个正则表达式。