正則表達式出現的\1代表什么意思?


在網上看到了這樣一道題目:

  

判斷一個字符串中出現次數最多的字符,並統計次數

var s = 'aaaaacccccbbbbb';

var a = s.split('');
a.sort();
s = a.join('');
var pattern = /(\w)\1*/g;                            ==>    這里\1是什么意思?如果不寫這個會怎樣?
var ans = s.match(pattern);
ans.sort(function(a, b) {
  return a.length < b.length;
});;
console.log(ans[0][0] + ': ' + ans[0].length);
 
有\1的情況下ans的值為:
["aaaaa","bbbbb","ccccc"]  
 
沒有\1的情況下ans的值為:
["aaaaabbbbbccccc"]
 
如果是\2或者\3呢?
ans值為:["a","a","a","a","a","b","b","b","b","b","c","c","c","c","c"]
 
正則表達式中的小括號"()"。是代表分組的意思。 如果再其后面出現\1則是代表與第一個小括號中要匹配的內容相同。
 
注意:\1必須與小括號配合使用
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM