正则表达式匹配双引号后面没有奇数个反斜杠
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);
我想用空字符串替换后面没有奇数个反斜杠的双引号。
例如:
字符串:"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);