▏에러 로그
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
'기초지식' 카테고리의 다른 글
Class 파일 jdk(자바) 버전 확인 및 major 버전에 따른 java버전 확인 (0) | 2022.06.16 |
---|---|
Internet Explorer 11 지원 종료, Edge / Window11 전환 방법 (0) | 2022.06.10 |
[Eclipse] 이클립스 Gradle 프로젝트 Import 하는 법 (0) | 2022.04.21 |
깃허브(GitHub) 프로필 5분만에 예쁘게 꾸미기 (0) | 2022.03.16 |
GitHub에 로컬 프로젝트 올리기 (0) | 2022.03.03 |
댓글