假设我在java中有这个字符串:
This a "text". This is inches 30". And another 20\"
我想找到所有英寸(数字后面的双引号)并为它添加第二个转义,如果它还没有。
所以在更改之后,字符串就像这样,打印在控制台中:
This is a "text". This is inches 30\". And another 20\"
所以正则表达式必须检查双引号之前是否有数字,如果还没有转义字符......
谢谢!
答案 0 :(得分:2)
String str="This a \"text\". This is inches 30\". And another 20\\\"";
System.out.println(str.replaceAll("(?<=\\d)\"", "\\\\\""));
输出:
This a "text". This is inches 30\". And another 20\"
这里也是Online demo。
模式说明:
(?<= look behind to see if there is:
\d digits (0-9)
) end of look-behind
\" '"'
答案 1 :(得分:0)
x='This a "text". This is inches 30". And another 20\"'
print re.sub(r"(\d+)(\")",r"\1\\\2",x)
这是在python中。我不知道java的完全匹配。