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

3 javascript java regex escaping

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

out.print("ref = url.match(/:\/\/(.[^/]+)/)[1];");
Run Code Online (Sandbox Code Playgroud)

获取此行的错误:

Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )
Run Code Online (Sandbox Code Playgroud)

原文:

    out.print("<script>");
Run Code Online (Sandbox Code Playgroud)

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

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

如何正确使用?

Saj*_*air 6

在Java字符串中,要实际使用反斜杠,您必须使用另一个反斜杠来转义它.所以所有人都\应该与\你的另一个人一起逃脱out.print:

out.print("ref = url.match(/:\\/\\/(.[^/]+)/)[1];");
                      //     ^  ^
Run Code Online (Sandbox Code Playgroud)

这输出:

ref = url.match(/:\/\/(.[^/]+)/)[1];
Run Code Online (Sandbox Code Playgroud)