Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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
Regex 正则表达式匹配至少有两对双字母的所有单词(两对不同字母或四对相同字母都可以)_Regex - Fatal编程技术网

Regex 正则表达式匹配至少有两对双字母的所有单词(两对不同字母或四对相同字母都可以)

Regex 正则表达式匹配至少有两对双字母的所有单词(两对不同字母或四对相同字母都可以),regex,Regex,我怎么写一个正则表达式来实现这一点,我真的很困惑。刺客、密西西比、小丑和香蕉等词应该匹配,但诡异、苦涩或供应等词不应该匹配。假设您在一个单词中寻找两个单独的字母字符,每个字母字符以任何顺序重复两次,您可以使用此正则表达式: //const regex=/\b[a-z]*?([a-z])[a-z]*?\1[a-z]*/gi; 常量正则表达式=/\b[a-z]*?(?:([a-z])[a-z]*([a-z])[a-z]*?(?:\1[a-z]*?\2[a-z]*?\1)([a-z])[a-z]*?

我怎么写一个正则表达式来实现这一点,我真的很困惑。刺客、密西西比、小丑和香蕉等词应该匹配,但诡异、苦涩或供应等词不应该匹配。

假设您在一个单词中寻找两个单独的字母字符,每个字母字符以任何顺序重复两次,您可以使用此正则表达式:

//const regex=/\b[a-z]*?([a-z])[a-z]*?\1[a-z]*/gi;
常量正则表达式=/\b[a-z]*?(?:([a-z])[a-z]*([a-z])[a-z]*?(?:\1[a-z]*?\2[a-z]*?\1)([a-z])[a-z]*?\3[a-z]*([a-z])[a-z]*?\4[a-z]*/gi;

console.log(‘小丑喜欢苦香蕉,但不喜欢绿花椰菜’.match(regex))
您能提供一些预期匹配的示例字符串吗?另外,你能展示一下到目前为止你已经尝试了什么吗?“小丑喜欢香蕉”作为一个例子将匹配小丑和香蕉。老实说,我一点也不知道该怎么做,我有点迷茫,我只是想知道你会怎么做,以及背后的逻辑。
\b(?=\w*?(\w)\w*?\1)\w+
但只在某些引擎中有效。你可以编辑你的问题并添加细节。另外,2个以上相同的字符是成功的,还是只有2个或4个字符?你可以有4个相同的字符,或者一个字符有2个,另一个字符有2个对不起,我的问题不清楚,苦和绿不应该匹配。它应该只与至少有2对2个匹配字母或1对4个相同字母匹配的单词匹配,而不是一对匹配字母。所以像《刺客》这样的东西会匹配,但《诡异》不会匹配。是的,我发现描述不完整,令人困惑。我相应地更新了答案。@dog1dog1dog2dog2:有问题吗?这符合你的需要吗?@dog1dog1dog2dog2:愿意接受这个答案吗?