Detect repeating letter in an string in Javascript

前端 未结 4 1792
长发绾君心
长发绾君心 2021-01-06 19:18

code for detecting repeating letter in a string.

var str=\"paraven4sr\";
var hasDuplicates = (/([a-zA-Z])\\1+$/).test(str)        
alert(\"repeating string \         


        
4条回答
  •  清酒与你
    2021-01-06 19:43

    JSFIDDLE

    var str="paraven4sr";
    var hasDuplicates = (/([a-zA-Z]).*?\1/).test(str)        
    alert("repeating string "+hasDuplicates);
    

    The regular expression /([a-zA-Z])\1+$/ is looking for:

    • ([a-zA-Z]]) - A letter which it captures in the first group; then
    • \1+ - immediately following it one or more copies of that letter; then
    • $ - the end of the string.

    Changing it to /([a-zA-Z]).*?\1/ instead searches for:

    • ([a-zA-Z]) - A letter which it captures in the first group; then
    • .*? - zero or more characters (the ? denotes as few as possible); until
    • \1 - it finds a repeat of the first matched character.

    If you have a requirement that the second match must be at the end-of-the-string then you can add $ to the end of the regular expression but from your text description of what you wanted then this did not seem to be necessary.

提交回复
热议问题