2013-02-25 170 views
3

我试图匹配所有满足元音出现在单词开头和结尾处的单词。元音字母边界处的元音正则表达式

我想什么(在JS,我就可以fiddle吧):

var t = 'are ice apple cat dog' 
var u = t.match(/(\b[aeiou]\w+[aeiou]\b)+/); 
alert (u); // should match 'are,ice,apple' 
+2

...有时候_y_! ;-) – Wiseguy 2013-02-25 21:50:33

+0

你的解决方案有什么特别的问题? – maerics 2013-02-25 21:51:17

+1

和w - http://grammar.quickanddirtytips.com/when-is-w-a-vowel.aspx – 2013-02-25 21:54:44

回答

3

给它的g global flag所以它会匹配所有。你也可以放弃()+,因为它不会带来任何好处。

var u = t.match(/\b[aeiou]\w+[aeiou]\b/g); 
             ^

http://jsfiddle.net/XTAtc/

+0

是的,这是它,谢谢。 – nathanbweb 2013-02-25 21:56:41

+0

别忘了“y”=) – 2014-01-05 03:52:09

1

如果要匹配所有满足你需要在 'G' 修改的条件的话你regexpression

http://www.w3schools.com/jsref/jsref_regexp_g.asp

var t = 'are ice apple cat dog' 
var u = t.match(/(\b[aeiou]\w+[aeiou]\b)+/g); 
alert (u); // it now matches 'are,ice,apple'