【发布时间】:2014-03-05 08:25:50
【问题描述】:
在 Java 正则表达式中,我想替换所有特殊字符以转义序列。我该怎么做。 示例 ::
//special chars ex "dd[u]i.* " to "dd//[u//]i//.//*"
【问题讨论】:
-
您可能需要注意转义是使用
\(反斜杠)而不是/完成的。 -
This answer 可能会有所帮助。
标签: java
在 Java 正则表达式中,我想替换所有特殊字符以转义序列。我该怎么做。 示例 ::
//special chars ex "dd[u]i.* " to "dd//[u//]i//.//*"
【问题讨论】:
\ (反斜杠)而不是 / 完成的。
标签: java
要转义所有特殊的正则表达式控制字符,可以使用此方法:
Matcher.quoteReplacement(String s)
它返回一个与s完全匹配的正则表达式。
这来自 javadoc:
返回指定字符串的文字替换字符串。此方法生成一个字符串,该字符串将用作 Matcher 类的 appendReplacement 方法中的文字替换 s。生成的 String 将匹配 s 中的字符序列,将其视为文字序列。斜杠 ('\') 和美元符号 ('$') 将没有特殊含义。
【讨论】:
将java模式中的特殊字符作为普通字符进行拆分或处理。你必须反击它。
\\.; \\* 现在可能被视为“。”和'*'。
【讨论】: