Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript正则表达式-检查字符串是否包含两个或多个相同的字母_Javascript_Regex - Fatal编程技术网

Javascript正则表达式-检查字符串是否包含两个或多个相同的字母

Javascript正则表达式-检查字符串是否包含两个或多个相同的字母,javascript,regex,Javascript,Regex,我正在用JavaScript编写一些正则表达式。我现在创建了一个正则表达式,用于检查一个字符串是否有两个或多个相同的字母紧跟在后面。我想创建一个正则表达式来检查一个单词/字符串是否包含一个特定字母中的两个或多个,无论它们是在后面还是在同一个单词/字符串中 它需要匹配:戏剧和水蟒,但不匹配:跛足、猕猴桃或树 这是JS中的正则表达式 const str = "anaconda"; str.match(/[a]{2,}/); 我的思维过程是这样的: 一个单词可以以任何字母开头

我正在用JavaScript编写一些正则表达式。我现在创建了一个正则表达式,用于检查一个字符串是否有两个或多个相同的字母紧跟在后面。我想创建一个正则表达式来检查一个单词/字符串是否包含一个特定字母中的两个或多个,无论它们是在后面还是在同一个单词/字符串中

它需要匹配:戏剧水蟒,但不匹配:跛足猕猴桃

这是JS中的正则表达式

const str = "anaconda"; 
str.match(/[a]{2,}/);

我的思维过程是这样的:

  • 一个单词可以以任何字母开头
  • 一个单词可以以任何字母结尾
  • 类似的字母之间可以有零个或多个字母
  • 如果它的任何字母相似,并且符合上述标准,则接受该单词
  • regex=/[a-z]*([a-z])[a-z]*\1+[a-z]*/
    
    使用

    \w*(\w)\w*\1\w*
    

    解释

    节点说明
    --------------------------------------------------------------------------------
    \w*字字符(a-z,a-z,0-9,41;)(0或
    更多次(与最多金额匹配)
    (可能的)
    --------------------------------------------------------------------------------
    (组和捕获到\1:
    --------------------------------------------------------------------------------
    \w字字符(a-z,a-z,0-9,uz)
    --------------------------------------------------------------------------------
    )结束\1
    --------------------------------------------------------------------------------
    \w*字字符(a-z,a-z,0-9,41;)(0或
    更多次(与最多金额匹配)
    (可能的)
    --------------------------------------------------------------------------------
    \1与捕获匹配的内容\1
    --------------------------------------------------------------------------------
    \w*字字符(a-z,a-z,0-9,41;)(0或
    更多次(与最多金额匹配)
    (可能的)
    
    也许你只需要
    /a.*a/
    (或
    /a[^a]*a/
    )来测试一个字符串是否至少包含两个
    a
    s?类似于
    \s*(\s)\s*\1\s*
    的单词字符,我想这就是了。谢谢你的回答,解释得很好!但在本例中,正则表达式将匹配单词:tree和kiwi,我只希望在所讨论的单词有两个或两个以上:如给定字符串中所示时匹配。对这个问题有什么意见吗?这可能是一个解决方案:
    [a]*([a])\w*\1[a]*
    ?@krullmizer。