【发布时间】:2012-07-30 22:58:58
【问题描述】:
如何编写一个正则表达式来匹配这个\"(一个反斜杠然后一个引号)?
假设我有一个这样的字符串:
<a href=\"google.com\"> click to search </a>
我需要用" 替换所有\",所以结果如下:
<a href="google.com"> click to search </a>
这个不起作用:str.replaceAll("\\\"", "\"") 因为它只匹配引用。不知道如何解决反斜杠。我可以先删除反斜杠,但我的字符串中还有其他反斜杠。
【问题讨论】:
-
第一个参数中需要更多的反斜杠。这可能看起来有点违反直觉,但如果你仔细想想,它就会有道理。
-
要在正则表达式中写入文字 \,请使用
"\\\\"第一个“加倍”是转义字符串 literal 中的斜杠(因此生成的字符串 值是\\)。然后第一个斜杠转义第二个 in 正则表达式引擎,因此它将匹配一个 \ 字符。有趣,嗯? -
听起来您正在尝试解码可能包含转义序列的字符串,其中反斜杠是转义字符。当输入包含反斜杠反斜杠引号时,解码器的输出应该是什么?确保为这种情况编写测试。