Javascript RegExp解析IRC颜色代码

Javascript RegExp解析IRC颜色代码,javascript,jquery,html,regex,Javascript,Jquery,Html,Regex,我正在尝试解析格式为\u00030到\u000315的IRC颜色代码。 我将所有RGB颜色添加到一个表中,并使用以下命令循环它们: console.log(i + ">" + '\\u0003'+i + ">" + colors[i]); var re = new RegExp("\\u0003"+i, 'gi'); console.log(re + " > " + '</span><span style="color:' + colors[i]+ ';"&g

我正在尝试解析格式为
\u00030
\u000315
的IRC颜色代码。 我将所有RGB颜色添加到一个表中,并使用以下命令循环它们:

console.log(i + ">" + '\\u0003'+i + ">" + colors[i]);
var re = new RegExp("\\u0003"+i, 'gi');
console.log(re + " > " + '</span><span style="color:' + colors[i]+ ';">');
我好像错过了什么
\u
\\u
没有区别,
gi
g
i
或无区别,总之,它似乎根本没有以这种方式解析任何东西

我发现,如果我删除RegExp,从而删除
html.replace的修饰符(“\\u00314”,”)它将替换第一次出现,但这还不够


有什么明显的地方我遗漏了吗?

下面的代码最终起到了作用。将字符串保存到变量中,而不是在函数中执行
+i

            var val = $('textarea#topic').val();
            var html = "<span style=\"color: #fff;\">" + val + "</span>";
            var colors = [
                "rgb(0,147,0)",
                "rgb(0,0,0)",
                "rgb(0,0,127)",
                "rgb(0,147,0)",
                "rgb(255,0,0)",
                "rgb(127,0,0)",
                "rgb(156,0,156)",
                "rgb(252,127,0)",
                "rgb(255,255,0)",
                "rgb(0,252,0)",
                "rgb(0,147,147)",
                "rgb(0,255,255)",
                "rgb(0,0,252)",
                "rgb(255,0,255)",
                "rgb(127,127,127)",
                "rgb(210,210,210)"
            ];
            for(i = (colors.length-1); i >= 0; i--) {
                var index = 0;
                var str = "\\u0003"+i+"";
                while((index = html.indexOf(str, index + 1)) > -1) {
                    html = html.replace(str, '</span><span style="color:' + colors[i]+ ';">');
                    console.log(str + ">" + colors[i]);
                }
                $('div#topictext').html(html);
                done = false;
                setTimeout(setTrue(), 5000);
                while(!done) {
                }
            }
            html = html.replace("\\u0002", "");
            html = html.replace("\\u000f", "");
            $('div#topictext').html(html);
var val=$('textarea#topic').val();
var html=“+val+”;
变量颜色=[
“rgb(0147,0)”,
“rgb(0,0,0)”,
“rgb(0,0127)”,
“rgb(0147,0)”,
“rgb(255,0,0)”,
“rgb(127,0,0)”,
“rgb(156,0156)”,
“rgb(252127,0)”,
“rgb(255255,0)”,
“rgb(0252,0)”,
“rgb(0147147)”,
“rgb(0255255)”,
“rgb(0,0252)”,
“rgb(255,0255)”,
“rgb(127127)”,
“rgb(210210)”
];
对于(i=(colors.length-1);i>=0;i--){
var指数=0;
var str=“\\u0003”+i+”;
而((index=html.indexOf(str,index+1))>-1){
html=html.replace(str',);
console.log(str+“>”+颜色[i]);
}
$('div#topictext').html(html);
完成=错误;
setTimeout(setTrue(),5000);
而(!完成){
}
}
html=html.replace(“\\u0002”和“”);
html=html.replace(“\\u000f”,”);
$('div#topictext').html(html);

html.replace(“\\u00314”g,”
你在做html=html.replace(…)?是的,我是@aaron\u world\u traveler@RokoC.Buljan,这不能解决问题,我仍然不能这样做
\u0002\u000314:: \u00037Channel Name \u000314:: \u00030SITE: \u00034UP \u000314:: \u00030IRC BONUS: \u00034OFFLINE \u000314:: \u00030SIGNUPS: \u00034CLOSED \u000314::\u000f
            var val = $('textarea#topic').val();
            var html = "<span style=\"color: #fff;\">" + val + "</span>";
            var colors = [
                "rgb(0,147,0)",
                "rgb(0,0,0)",
                "rgb(0,0,127)",
                "rgb(0,147,0)",
                "rgb(255,0,0)",
                "rgb(127,0,0)",
                "rgb(156,0,156)",
                "rgb(252,127,0)",
                "rgb(255,255,0)",
                "rgb(0,252,0)",
                "rgb(0,147,147)",
                "rgb(0,255,255)",
                "rgb(0,0,252)",
                "rgb(255,0,255)",
                "rgb(127,127,127)",
                "rgb(210,210,210)"
            ];
            for(i = (colors.length-1); i >= 0; i--) {
                var index = 0;
                var str = "\\u0003"+i+"";
                while((index = html.indexOf(str, index + 1)) > -1) {
                    html = html.replace(str, '</span><span style="color:' + colors[i]+ ';">');
                    console.log(str + ">" + colors[i]);
                }
                $('div#topictext').html(html);
                done = false;
                setTimeout(setTrue(), 5000);
                while(!done) {
                }
            }
            html = html.replace("\\u0002", "");
            html = html.replace("\\u000f", "");
            $('div#topictext').html(html);