본문 바로가기
JAVA

[JAVA(자바)] 오류 Exception in thread "main" java.util.regex.PatternSyntaxException: Dangling meta character '+' near index 0+ 해결 방법

by 초이사 2023. 2. 28.

 

백준 1541번 잃어버린 괄호 문제를 풀다가 split()을 사용하는 부분에서 아래와 같이 오류

java.util.regex.PatternSyntaxException: Dangling meta character '+' near index 0+ 가 발생했다.

 

 

"+"를 기준으로 잘라서 문자열 배열에 저장하는 부분에서 에러 발생

 

 

원인

String[] num = str[i].split("+");

split()은 구분할 기준 문자열을 정규표현식으로 받는다.

-> 예약어로 사용되는 일부 특수문자(?, +, *, (, ), [, ], {, }, \)를 split(), replaceAll() 등을 사용할 때 기준으로 하면 인식할 수 없다.

 

 

해결방법

특수기호를 인식할 수 있도록  "+" 대신 "\\+"나 "[+]"로 입력해주어야 한다.

//방법 1
String[] num = str[i].split("[+]");

//방법 2
String[] num = str[i].split("\\+");

 

 

 

 

 

댓글