개발관련/뻘팁-작업노트
java - java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0
xephysis
2021. 5. 10. 18:21
배경
java.util.regex.PatternSyntaxException: Dangling meta character '*' near index
재현
spring data mongodb 이슈는 아니고 java regex 자체
targetValue 에 '*' 인 문자열이 들어가 있으면 문제 발생
Criteria searchTitleCriteria = new Criteria().where("targetField").regex(targetValue);
Pattern.compile(someString) 에서 터짐
원인
regex meta character 이 들어가 있어서 문제 발생
해결
Pattern.quote 로 감싸놓음
( \Q & \E)
Criteria searchTitleCriteria = new Criteria().where("targetField").regex(Pattern.quote(targetValue));