JAVA && Spring

[JAVA] 자바 정규식 사용해서 특수분자 치환할 때 에러

도미노& 2022. 6. 17. 16:06

출처 : http://gnujava.com/board/article_recent_view.jsp?article_no=5944&menu_cd=57&board_no=36&table_cd=EPAR01&table_no=01

 

 

▼ 출처에 있는 내용.

 

Java로 String Parser를 구현하는 중에 특수문자를 치환해줘야하는 경우가 발생했다. 정규식에서 사용하는 정규 문자들을 치환(String.replaceAll 메소드 사용)해줘야 했었는데, 정규식에서는 특수문자를 정규식의 패턴으로 인식해서 에러(java.util.regex.PatternSyntaxException)가 발생하였다. 이러한 방법을 해결해주기 위해 치환할 때 아래와 같이 표현해주면 된다.

[]으로 싸줘야하는 문자
* → [*]
+ → [+]
$ → [$]
| → [|]

\\ 추가 해야하는 문자
( → \\(
) → \\)
{ → \\{
} → \\}
^ → \\^
[ → \\[
] → \\]

무관한 특수 문자
! # % & @ ` : ; - . < > , ~ ' "