我想知道如何匹配包含2个或更多2个字母元音序列的单词(使用正则表达式的javascript版本)(例如, io npr oo f ,st ea m 即 r,pr ee q ui p)。
我正在学习正则表达式,这是我到目前为止(只匹配包含2个字母元音序列的单词)以及我被困在的地方:
答案 0 :(得分:4)
每当我想测试不同的正则表达式时,我都会使用http://regex101.com。这是我想出的一个,我相信你正在寻找的东西。
var text = "visionproof vision proof threevowelswouldworktoo queued",
regex = /\w*[aeiou]{2}\w*[aeiou]{2}\w*/ig;
console.log(text.match(regex));
\ w匹配单词字符。因此,这匹配0个或多个单词字符后跟2个元音,后跟0个或更多单词字符,后跟2个元音,后跟0个或更多个单词字符。我的例子是here。
答案 1 :(得分:1)
EXPLAIN
{2,}
部分 - 两次,因为您想多次抓住这个
(?:[aeiou]{2,})
/(\w*(?:[aeiou]{2,})\w*(?:[aeiou]{2,})\w*)/g

这是regex101的链接:
https://regex101.com/r/OtsdRA/2
如果您希望单词
re = /(\w*(?:[aeiou]{2,})\w*(?:[aeiou]{2,})\w*)/g str = 'words that contains 2 or more letters sequesnces and some triiiiple visionproof, steamier, preequip' console.log(str.match(re))
不匹配(因为您没有两个单独的元音块),则应在两个元音块之间使用sssiiiisss
:\w+
答案 2 :(得分:1)
答案 3 :(得分:0)
下面的正则表达式可用于获取2个或更多2个连续元音的序列
(\w*[aeiou]{2}\w*){2,}
{2}连续2个元音 和{2,}表示2个或更多序列