Java & Spring/Java 문법

[Java] replaceAll 에서 Illegal group reference 처리

데르벨준 2016. 2. 12. 14:10
반응형

replaceAll 에서 치환할 값에 쿼트(")가 들어있으면


Illegal group reference 에러가 발생한다.


이때에는 java.util.regex.Matcher 내에 quoteReplacement 메소드로 치환할 값을 

바꿔주면 된다.

String replaceVal= "<?=$cfg[\"member\"][\"mid\"]?>";

String baseVal = "ocmTagParseURLGetParameter(window.location.href, $KEYIN_VALUE$)";

Matcher.quoteReplacement(replaceVal);

System.out.println(baseVal.replaceAll("[$]KEYIN_VALUE[$]", "'"+Matcher.quoteReplacement(replaceVal)+"'"));

반응형