このコードは何をやっているのか
data[i]には0~20位の数値が適当に入っている感じです
function create(){
text += (data[i]+10).toString(31).toUpperCase();
while (text.match(/(\D)\1{8}/)) { text = text.replace(/(\D)\1{8}/,RegExp.$1+'9'); }
while (text.match(/(\D)\1{7}/)) { text = text.replace(/(\D)\1{7}/,RegExp.$1+'8'); }
while (text.match(/(\D)\1{6}/)) { text = text.replace(/(\D)\1{6}/,RegExp.$1+'7'); }
while (text.match(/(\D)\1{5}/)) { text = text.replace(/(\D)\1{5}/,RegExp.$1+'6'); }
while (text.match(/(\D)\1{4}/)) { text = text.replace(/(\D)\1{4}/,RegExp.$1+'5'); }
while (text.match(/(\D)\1{3}/)) { text = text.replace(/(\D)\1{3}/,RegExp.$1+'4'); }
while (text.match(/(\D)\1{2}/)) { text = text.replace(/(\D)\1{2}/,RegExp.$1+'3'); }
while (text.match(/(\D)\1/)) { text = text.replace(/(\D)\1/,RegExp.$1+'2'); }
}
function load(text){
text = text.substring(text.indexOf("0")+1);
while (text.match(/(\D)([2-9])/)) { text = text.replace(/(\D)([2-9])/,load2(RegExp.$1,RegExp.$2)) }
j=1;
for(i=0;i<text.length;i++) {
cdata[j] = "ABCDEFGHIJKLMNOPQRSTU".indexOf(text.charAt(i));
j=j+1;
}
}
function load2(arg1,arg2) {
code = arg1;
for (i=1;i<arg2;i++) { code += arg1; }
return code;
}
数値配列の圧縮とデコードをしているようですが
主に正規表現のあたりがどういう事をやっているのかが理解出来ません
お礼
ありがとうございます!