Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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,我正在尝试处理反斜杠,以便能够将\t(single)转换为\t(double\),但此代码/正则表达式不起作用。你能告诉我哪里做错了吗 var a = {"value": '[{"skill":"\tAgile,Scrum", "exp": 2}, {"skill": "Coding", "exp": 10 }]'}; a.value = a.value

我正在尝试处理反斜杠,以便能够将\t(single)转换为\t(double\),但此代码/正则表达式不起作用。你能告诉我哪里做错了吗

var a = {"value": '[{"skill":"\tAgile,Scrum", "exp": 2}, {"skill": "Coding", "exp": 10 }]'};


a.value = a.value.replace(/\\/g, "\\\\"); //handle special char

console.log(a);

您的字符串中没有任何文字反斜杠。例如,
\tAgile,Scrum
相当于与
Agile,Scrum
连接的制表符。字符串中没有反斜杠,因此与文本反斜杠匹配的
/\\\/g
,将不匹配任何内容

您必须匹配已解释的字符,如
\t
,并将其替换为一个反斜杠,后跟一个文本
t

var a={“value”:“[{”skill:“\tAgile,Scrum”,“exp:2},{”skill:“Coding”,“exp:10}]”;
a、 value=a.value.replace(/\t/g,“\\t”)//处理特殊字符

控制台日志(a)
因为
\t
已经被解析并作为
\t
字符处理(我相信是桌面)。查找
\t

var a={
“值”:“[{”skill:“\tAgile,Scrum”,“exp:2},{”skill:“Coding”,“exp:10}]”
};
a、 value=a.value.replace(/\t/g,“\\t”)//处理特殊字符
控制台日志(a)