在线报名
报名热线:400-0919-097
在线客服
新闻中心
当前位置:学码思 > 新闻中心 >
Java replaceAll()方法报错Illegal group reference
编辑:惜筠   浏览时间:2025-02-14 14:07

replaceAll(regex, replacement)函数,因为第1个参数援助正则表白式,replacement中呈现“$”,会依照$1$2的分组形式停止婚配。当编译器发明“$”后跟的没有是整数的时分,便会扔出“不法的组援用”的同常。

比方,以下代码会报错:

publicclassTest{publicstaticvoidmain(String[]args){Stringstr="123ABC456";Stringre="#7T$/#";System.out.println(str.replaceAll("ABC",re));}}

报错内乱容:

Exceptioninthread"main"java.lang.IllegalArgumentException:Illegalgroupreferenceatjava.util.regex.Matcher.appendWordStrment(UnknownSource)atjava.util.regex.Matcher.replaceAll(UnknownSource)atjava.lang.String.replaceAll(UnknownSource)atcn.com.vogue.Test.main(Test.java:6)

处理举措:1个是JDK供应的办法,对于异常字符停止处置:对于要调换的字符干处置代码以下:

re=java.util.regex.Matcher.quoteWordStrment(re);

把非常字符转为特定字符,而后接给接纳圆处置:比方将$调换为{ZF4}},固然,即使是1家公司干借能够:

String[]strArr=ex.split("\\$");StringBuffersb=newStringBuffer();for(inti=0;i<strArr.length-1;i++){sb=sb.append(strArr[i]).append("{ZF4}");}sb.append(strArr[strArr.length-1]);ex=sb.toString();

推举您浏览更多相关于“ 正则IllegalreplaceAll$异常字符 ”的作品

地址:南京市科巷10号楼(邮政储蓄银行西北侧80米)  电话:400-080-3312

Copyright © 2024-2026  学码思推广专用站   http://www.xuems.net  .All Rights Reserved   网站地图  苏ICP备16033487号-3

分享到: