【已解决】Java正则替换replaceAll/replaceFirst遇到替换的内容包含正则符号报错

【已解决】Java正则替换replaceAll/replaceFirst遇到替换的内容包含正则符号报错

错误示例:

public class PatternTest {

    public static void main(String[] args) {
        String data="这个商品标价$2";
        data=data.replaceAll("(商品)","$3");
        System.out.println(data);
    }
}

执行结果:


解决办法:

public class PatternTest {

    public static void main(String[] args) {
        String data="这个商品标价$2";
        data=data.replaceAll("(商品)", Matcher.quoteReplacement("$3"));
        System.out.println(data);
    }
}

执行结果:

       

如果需要替换$等正则符号也可以这样

public class PatternTest {

    public static void main(String[] args) {
        String data="这个商品标价$2";
        data=data.replaceAll(Pattern.quote("$"), Matcher.quoteReplacement("¥"));
        System.out.println(data);
    }
}

执行结果:


搞定

【已解决】Java正则替换replaceAll/replaceFirst遇到替换的内容包含正则符号报错

相关文章:

你感兴趣的文章:

标签云: