
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