▏에러 로그
java.util.regex.PatternSyntaxException: Unclosed group near index 1
java replaceAll 사용시 위와 같은 에러가 날 때가 있다.
▏상황
이 오류는 괄호를 치환 하고자 할 때 발생하는 오류다.
치환하려고 작성한 문자 괄호를 문자로 인식하지 않고, 하나의 수식으로 인식하기 때문에 Unclosed group near index 이런 에러를 뱉는것이다.
▏해결방법
따라서, 소괄호, 중괄호, 대괄호, ^ 는 앞에 \\를 붙여주어야한다.
나의 경우 문자열에 있는 소괄호를 뒤집어야 했다. ex ) "(" -> ")" / ")" -> "("
처음에는 나도 이 규칙을 몰라 에러가 났다.
u = u.replaceAll("(", "1");
u = u.replaceAll(")", "2");
u = u.replaceAll("1", ")");
u = u.replaceAll("2", "(");
수정 코드
u = u.replaceAll("\\(", "1");
u = u.replaceAll("\\)", "2");
u = u.replaceAll("1", ")");
u = u.replaceAll("2", "(");
▏참고자료
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=innerlog&logNo=220129375147
반응형
'Language > Java' 카테고리의 다른 글
[JAVA] SMTP Mail 기능 구현 : javax.mail.AuthenticationFailedException: 535-5.7.8 Username and Password not accepted 에러 해결 (0) | 2022.06.23 |
---|---|
[JAVA] SMTP Mail 기능 구현 : javax.mail.MessagingException: Could not convert socket to TLS 에러 처리 (0) | 2022.06.23 |
[Java] 엔터(Enter) / 개행 / 공백 replace 처리하기 (0) | 2022.06.22 |
Class 파일 jdk(자바) 버전 확인 및 major 버전에 따른 java버전 확인 (0) | 2022.06.16 |
JPA란 무엇인가? (2) | 2021.05.02 |
댓글