我正在尝试制作一种采用输入代码的编程语言,该代码使用String.replace
将新语言的一些内容慢慢翻译成JavaScript,添加了正则表达式转义符。然而,当我最终打印出我最后的东西时,它会保留逃逸,并且会完全搞乱翻译的代码。这就是我现在所拥有的:
<!DOCTYPE html>
<html>
<head>
<title>Translating</title>
</head>
<body>
<script type="text/javascript">
function escapeRegExp(str) {
return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
}
var infile = "{{ }}";
infile = escapeRegExp(infile);
infile = infile.replace("[", "{");
infile = infile.replace("]", "}");
document.write(infile);
</script>
</body>
</html>
escapeRegExp是我用来逃避代码的函数。当我完成时,infile变量可能会由PHP填充,但是现在它只有测试代码。
答案 0 :(得分:0)
我想到了一个非常简单的方法来解决这个问题:只需使用infile = infile.replace(/\\/g, "");
,它将用空字符串替换所有反斜杠。