java 정규 표현식 pattern.matcher ()를 사용할 때 소스가 정규식과 일치하지 않지만 내 희망 결과는, source가 정규식과 일치합니다.

비키

java 정규식 pattern.matcher ()를 사용할 때 소스가 정규식과 일치하지 않지만 내 희망 결과는, source가 정규식과 일치합니다.

  • String source = "ONE.TWO"
  • String regex = "^ONE\\.TWO\\..*"

    import java.util.regex.Pattern; 

    public class Test { 
        public static void main (String [] args) { 
            test (); 
        } 

        public static void test () { 
            테스트 stringDemo = new Test (); 
            stringDemo.testMatcher (); 
        } 

        public void testMatcher () { 
            String source = "ONE.TWO"; 
            String regex = "^ ONE \\. TWo \\ .. *"; 
            // 결과 = false, "일치하지 않음". 그러나 희망 결과는 true입니다. "match" 
            matcher (source, regex); 
        } 

        public void matcher (String source, String regex) { 
            패턴 패턴 = 패턴.

            부울 match = pattern.matcher (source) .matches (); 
            if (일치) { 
                System.out.println ( "일치"); 
            } else { 
                System.out.println ( "일치하지 않음"); 
            } 
        } 
    }

ᴇʟᴇvᴀтᴇ

코드에서 정규 표현식은 oin TWO이 소문자 일 것으로 예상하고 뒤에 ..

시험:

String source = "ONE.TWo.";

이것은 귀하의 질문에 코딩 된 정규식과 일치합니다.

표현식 \.은 문자가 아닌 리터럴 점과 일치 함을 의미합니다. 이것을 Java String으로 코딩 할 때 백 슬래시를 다른 백 슬래시로 이스케이프해야하므로 "\\.".

.*표현 수단의 끝에 "0 개 이상의 모든 문자의 (라인 - 휴식 시간 제외)와 일치".

따라서 이것은 또한 일치합니다.

String source = "ONE.TWo.blah blah";

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관