Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.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,如何捕捉单词中的重复字母,如abababa=2匹配a和b重复 我知道当字母像这样相邻时怎么做/\w\1+/ 谢谢尝试使用此字符串扩展: String.prototype.getRepeating = function() { var length = this.length; var found = ''; var repeating = ''; var index; var letter; for (index = 0; index < length; index

如何捕捉单词中的重复字母,如abababa=2匹配a和b重复

我知道当字母像这样相邻时怎么做/\w\1+/

谢谢

尝试使用此字符串扩展:

String.prototype.getRepeating = function() {
  var length = this.length;
  var found = '';
  var repeating = '';
  var index;
  var letter;
  for (index = 0; index < length; index++) {
    letter = this.charAt(index);
    if (-1 == found.indexOf(letter)) {
      found = found.concat(letter);
    } else {
      if (-1 == repeating.indexOf(letter)) {
        repeating = repeating.concat(letter);
      }
    }
  }
  return repeating;
}
ab=>一个空字符串 aa=>a bb=>b abab=>ab abb=>b aab=>a bab=>b
如果我理解正确,您希望提取在给定单词中出现多次的字母。如果是这样,您只需迭代单词的字母,累积它们的出现次数,然后过滤掉只出现一次的字母

var testString=ababababa; var字母=countGroupByLettertestString; var结果=过滤器过滤器,功能V{ 返回v>1; }; console.logresult; 函数countGroupByLettertestString{ var result={}; 对于var ii=0;iivar tests = ['ab', 'aa', 'bb', 'abab', 'abb', 'aab', 'bab']; for (var index in tests) { console.log(tests[index], '=>', tests[index].getRepeating()); }