본문 바로가기
Programming Language 이해하기/Java 이해하기

replaceFirst()과 정규표현식의 실수

by simplify-len 2021. 2. 26.
    @Test
    public void korean_possible_replace() {
        String target = "다우\\\"기술\" OR\t_xxx:[10 TO 100]";
        String regEx = "다우\\\"기술";

        // 정규식(regEx)을 패턴으로 만들고,
        Pattern pat = Pattern.compile(regEx);
        // 패턴을 타겟 스트링(target)과 매치시킨다.
        Matcher match = pat.matcher(target);
//        System.out.println(match.find());
        String s = target.replaceFirst(regEx, "");
        System.out.println(s);

    }

 

pat.matcher(target) 은 false가 나옵니다. 이유는 '\\\' 때문에, 제대로 지우려면 '\\\\\' 이렇게 해야만 제대로 지워집니다.

 

댓글