Illegal group reference异常的分析
String replaceAll(regex, replacement)函數(shù) ,? 由于第一個參數(shù)支持正則表達(dá)式,replacement中出現(xiàn)“$”,會按照$1$2的分組
模式進(jìn)行匹配,當(dāng)編譯器發(fā)現(xiàn)“$”后跟的不是整數(shù)的時候,就會拋出“非法的組引用”的異常。
所以我們在使用replaceAll(regex, replacement)函數(shù)的時候要特別小心。
如果真的要把String中的字符替換成"$AAA"的話,可以對replacement 進(jìn)行“$”的轉(zhuǎn)義處理:
public static String filterDollarStr(String str) {
??
??String sReturn ="";
??if (!StringUtils.trim(str).equals("")) {
???
???
???if(str.indexOf('$', 0)>-1)
???{
????while(str.length()>0)
????{
?????if(str.indexOf('$', 0)>-1)
?????{
??????????? sReturn +=str.subSequence(0, str.indexOf('$', 0));
??????????? sReturn+="//$";
??????????? str =str.substring(str.indexOf('$', 0)+1, str.length());
?????}
?????else
?????{
??????sReturn+=str;
??????str="";
?????}
??????
????}
????
????
???}
???else
???{
????
????sReturn = str;
???}
???
???
??}
??return sReturn;
?}?
轉(zhuǎn)載于:https://www.cnblogs.com/superch0054/archive/2007/08/02/4010167.html
總結(jié)
以上是生活随笔為你收集整理的Illegal group reference异常的分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL Server 数据库优化
- 下一篇: Tree HDU - 6547 (树链