正则表达式匹配双引号后面没有奇数个反斜杠

regex to match double qoutes not followed by odd number of backslash

我想用空字符串替换后面没有奇数个反斜杠的双引号。

例如:

字符串:"hello \" world \""hello \\" world\\"
正则表达式:?
结果:hello \" world \hello \\" world\\ (替换为空字符串后)

同时 \\"\" 替换
我只是用 regex\\"

我需要正则表达式来替换 " 后面没有奇数的 \ 。我正在制作一个简单的解析器,它会忽略 " "
中的字符串 所以,有人帮忙。

这个正则表达式会给你准确的结果 它应该是 + 而不是 {0,20} 但 java 不允许这样做, 所以你可以把预期的最大预期数量加倍,而不是 20

    String text = "\"hello \\" world \\\" , \"hello \\\\" world\\\\\"";
    String newText = text.replaceAll("(?<!(?<!\\)(\\)(\\\\){0,20})\"", "");
    System.out.println("newText = " + newText);