如何在Java中转义文本以进行正则表达式
时间:2020-03-05 18:52:36 来源:igfitidea点击:
Java是否具有内置的转义任意文本的方式,以便可以将其包含在正则表达式中?例如,如果我的用户输入" $ 5",我想在输入结束后精确匹配而不是" 5"。
解决方案
回答
从Java 1.5开始,是的:
Pattern.quote("");
回答
我认为我们所追求的是\ Q $ 5 \ E
。另请参阅Java5中引入的Pattern.quote(s)
。
有关详细信息,请参见模式javadoc。
回答
在我看到以下示例之前,我不清楚" Pattern.quote"和" Matcher.quoteReplacement"之间的区别。
s.replaceFirst(Pattern.quote("text to replace"), Matcher.quoteReplacement("replacement text"));