java中的转义序列无效(有效转义序列为\ b \ t \ n \ f \ r \“\'\\)

时间:2014-03-06 07:55:06

标签: java javascript regex escaping

我正在使用父域和I帧的URL匹配。获取此错误以将下面的代码放在Java类中。

out.print("ref = url.match(/:\/\/(.[^/]+)/)[1];");

获取此行的错误:

Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )

原始剧本:

    out.print("<script>");

//需要在java类中放入以下行,所以使用out.print(" ");

ref = url.match(/:\/\/(.[^/]+)/)[1];
out.print("</script>");

如何正确使用?

2 个答案:

答案 0 :(得分:6)

在Java字符串中,要实际使用反斜杠,必须使用另一个反斜杠来转义它。因此,所有\都应使用\行中的另一个out.print进行转义:

out.print("ref = url.match(/:\\/\\/(.[^/]+)/)[1];");
                      //     ^  ^

输出这个:

ref = url.match(/:\/\/(.[^/]+)/)[1];

答案 1 :(得分:1)

当你转义字符时,你必须使用\\而不是\