Javascript 字符串中任何位置至少出现两次的字母的JS Regexp
Javascript 字符串中任何位置至少出现两次的字母的JS Regexp,javascript,regex,Javascript,Regex,/([a-zA-Z])。\1/ 如果此正则表达式找到1个匹配的重复字母,则当前在.test()上返回true。我希望它至少匹配3或2,并返回true 例如,当前它在.test()上为字符串返回true,如 Trickster, Been, Dekko 但我希望它仅在有超过2个匹配项时返回true,以便以下内容在.test()上返回true 和NOT在我前面提到的字符串上返回true。您可以指定至少三个这样的字符串:/([a-zA-Z]){3,}.*.\1/ > /([a-zA-Z]){3
/([a-zA-Z])。\1/
如果此正则表达式找到1个匹配的重复字母,则当前在.test()上返回true。我希望它至少匹配3或2,并返回true
例如,当前它在.test()
上为字符串返回true,如
Trickster, Been, Dekko
但我希望它仅在有超过2个匹配项时返回true,以便以下内容在.test()上返回true
和NOT在我前面提到的字符串上返回true。您可以指定至少三个这样的字符串:
/([a-zA-Z]){3,}.*.\1/
> /([a-zA-Z]){3,}.*?\1/.test('Been')
<- false
> /([a-zA-Z]){3,}.*?\1/.test('CordCord')
<- true
>/([a-zA-Z]){3,}.*.\1/.test('Been'))
/([a-zA-Z]){3,}.*?\1/.test('CordCord'))
您可以在[a-zA-Z]
之后使用{2,}
来匹配两个或多个出现的模式:
([a-zA-Z]{2,}).*?\1
见
详细信息
([a-zA-Z]{2,})
-捕获与2个或更多ASCII字母匹配的组1
*?
-除换行符以外的任何0+字符,尽可能少(惰性)
\1
-与组1中捕获的相同文本匹配的反向引用
请注意,应将2个或更多ASCII字母捕获为1组(因此限制量词位于捕获括号内)
var ss=['Trickster,Been,Dekko','CordCord,XoXo,XolXol,PiunPiun'];
var re=/([a-zA-Z]{2,})。*?\1/;
用于(ss的var s){
控制台日志,“=>”,重新测试;
}
在“请检查我的答案”下查看“限制重复”。不,问题还不错。非常感谢你的解释+1.
([a-zA-Z]{2,}).*?\1