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 ( "일치하지 않음"); } } }
코드에서 정규 표현식은 o
in TWO
이 소문자 일 것으로 예상하고 뒤에 .
.
시험:
String source = "ONE.TWo.";
이것은 귀하의 질문에 코딩 된 정규식과 일치합니다.
표현식 \.
은 문자가 아닌 리터럴 점과 일치 함을 의미합니다. 이것을 Java String으로 코딩 할 때 백 슬래시를 다른 백 슬래시로 이스케이프해야하므로 "\\."
.
.*
표현 수단의 끝에 "0 개 이상의 모든 문자의 (라인 - 휴식 시간 제외)와 일치".
따라서 이것은 또한 일치합니다.
String source = "ONE.TWo.blah blah";
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다