用于检测字符串中重复字母的代码.
var str="paraven4sr";
var hasDuplicates = (/([a-zA-Z])\1+$/).test(str)
alert("repeating string "+hasDuplicates);
Run Code Online (Sandbox Code Playgroud)
我得到" 假"作为上述字符串" paraven4sr "的输出.但是这段代码可以正常地用于像" paraaven4sr"这样的字符串.我的意思是如果角色连续重复,代码将输出设为" TRUE".如何重写此代码,以便当字符在字符串中重复时输出为" TRUE"
MT0*_*MT0 24
var str="paraven4sr";
var hasDuplicates = (/([a-zA-Z]).*?\1/).test(str)
alert("repeating string "+hasDuplicates);
Run Code Online (Sandbox Code Playgroud)
正则表达式/([a-zA-Z])\1+$/正在寻找:
([a-zA-Z]]) - 它在第一组中捕获的一封信; 然后\1+ - 紧接着该信件的一份或多份副本; 然后$ - 字符串的结尾.将其更改为/([a-zA-Z]).*?\1/搜索:
([a-zA-Z]) - 它在第一组中捕获的一封信; 然后.*?- 零个或多个字符(?表示尽可能少); 直到\1 - 它找到第一个匹配字符的重复.如果您要求第二个匹配必须位于字符串结尾处,那么您可以添加$到正则表达式的末尾,但是根据您想要的文本描述,这似乎没有必要.