Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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
Java 用两个反斜杠转义单反斜杠_Java_Regex_String - Fatal编程技术网

Java 用两个反斜杠转义单反斜杠

Java 用两个反斜杠转义单反斜杠,java,regex,string,Java,Regex,String,我有以下字符串,我只想在双引号之间转义反斜杠。我试着这么做 String s = "Hello\na = a.split(\"\n\")"; String tem = s.replaceAll("(?<=\")[^\\\\](?=\")", "\\\\"); 我希望它是 Hello a = a.split("\n") 有什么想法吗?简单点的怎么样 String s = "Hello\na = a.split(\"\n\")"; String tem = s.replaceAll("(\

我有以下字符串,我只想在双引号之间转义反斜杠。我试着这么做

String s = "Hello\na = a.split(\"\n\")";
String tem = s.replaceAll("(?<=\")[^\\\\](?=\")", "\\\\");
我希望它是

Hello
a = a.split("\n")

有什么想法吗?

简单点的怎么样

String s = "Hello\na = a.split(\"\n\")";
String tem = s.replaceAll("(\\)(?=\")", "\\\\");    
你可以试试 或者

简单一点:

假定为反斜杠和双引号,始终在字符前面\n

public static void main(String[] args) {
    String s = "Hello\na = a.split(\"\n\")";
    String tem = s.replaceAll("\\\"\\n\\\"", "\\\"\\\\n\\\"");
    System.out.println(tem);
}

并不是说这是不可能的,但一般来说,正则表达式不是解析代码的正确工具。
public static void main(String[] args) {
    String s = "Hello\na = a.split(\"\n\")";
    String tem = s.replaceAll("\\\"\\n\\\"", "\\\"\\\\n\\\"");
    System.out.println(tem);
}