正则表达式 - 匹配包含2个或更多2个字母元音序列的单词

时间:2017-01-03 21:55:10

标签: javascript regex

我想知道如何匹配包含2个或更多2个字母元音序列的单词(使用正则表达式的javascript版本)(例如, io npr oo f ,st ea m r,pr ee q ui p)。

我正在学习正则表达式,这是我到目前为止(只匹配包含2个字母元音序列的单词)以及我被困在的地方:

enter image description here

4 个答案:

答案 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)

  1. 您需要对整个单词进行分组
  2. 你可能想确保不要抓住元音组。
  3. 您至少需要2个字母,因此您需要EXPLAIN
  4. 您将需要{2,}部分 - 两次,因为您想多次抓住这个

  5. (?:[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)

\b\w*[aeiou]{2}\w*[aeiou]{2}\w*\b

试试这个。看看演示。

https://regex101.com/r/Ph7a0P/3

答案 3 :(得分:0)

下面的正则表达式可用于获取2个或更多2个连续元音的序列

(\w*[aeiou]{2}\w*){2,}

{2}连续2个元音 和{2,}表示2个或更多序列