文字コードの配列を Unicode 文字に変換し、正規表現で検索することについて誰かが洞察を持っているかどうか疑問に思っています。
あなたが持っている場合
var a = [0,1,2,3]
ループを使用して、Unicode の最初の 4 つの制御文字の文字列に変換できます。
ただし、正規表現を作成する場合
"(X)+"
ここで、X == 文字コード 3 を Unicode の等価物に変換すると、検索が機能しないようです。文字列の長さを確認すると、それは正しく、.* は文字列内のすべての文字を返します。しかし、文字コードだけで始めなければならないのに、文字列を検索するための正規表現を作成するのに苦労しています。何かアドバイスはありますか?
編集:
var a = [0,1,2,3,0x111]; str = "";
for(var i = 0; i < a.length; i++) {
str += String.fromCharCode(a[i]);
}
var r = [0x111]
var reg = ""
reg += "(";
for(var i = 0; i < r.length; i++) {
var hex = r[i].toString(16);
reg += "\\x" + hex;
}
reg += ")";
var res = str.match(RegExp(reg))[0];
編集
//Working code:
var a = [0,1,2,3,0x111];
str = "";
for(var i = 0; i < a.length; i++) {
str += String.fromCharCode(a[i]);
}
var r = [3,0x111]
var reg = ""
reg += "(";
for(var i = 0; i < r.length; i++) {
var hex = r[i].toString(16);
reg += ((hex.length > 2) ? "\\u" : "\\x") + ("0000" + hex).slice((hex.length > 2) ? -4 : -2);
}
reg += ")";
var res = str.match(RegExp(reg))[0];