이전 섹션에서는 Pattern 클래스와 Matcher 클래스를 사용하여 패턴 객체를 설정하는 첫 번째 단계를 배웠습니다. 이 섹션에서는 일치하는 객체를 가져오는 두 번째 단계를 계속 학습합니다.
일치 객체라고 하는 문자열 입력을 검색할 수 있는 Matcher 클래스의 인스턴스 일치자를 가져옵니다.
Matchermatcher=pattern.matcher(입력);
패턴 객체 패턴은 matcher(CharSequence 입력) 메소드를 호출하여 일치 객체 라고 하는 Matcher 객체 일치자를 반환합니다. 매개변수 입력은 일치자가 검색할 문자열을 제공하는 데 사용됩니다. 매개변수 입력은 CharSequence 인터페이스를 구현하는 모든 클래스에서 생성된 객체일 수 있습니다. 앞서 배운 String 클래스와 StringBuffer 클래스는 CharSequence 인터페이스를 구현합니다.
일치하는 개체 일치 프로그램은 다양한 메서드를 호출하여 문자열 입력을 검색할 수 있습니다. 예를 들어, 매처는 부울 find() 메소드를 순서대로 호출하여 입력에서 정규식과 일치하는 하위 문자열을 검색합니다. 예를 들어, find() 메소드에 대한 첫 번째 호출은 입력에서 첫 번째 부분 문자열 good을 검색합니다. 즉, matcher.find()는 첫 번째 good을 검색하고 이때 matcher.start(에서 반환된 값을 반환합니다. )는 6, 첫 번째 good이 시작되는 위치, matcher.end()가 반환하는 값은 10, 첫 번째 good이 끝나는 위치, matcher.group()은 good을 반환합니다. 즉, 검색된 문자열을 반환합니다.
Matcher 개체 일치자는 다음 방법을 사용하여 문자열 입력에 패턴 정규식과 일치하는 하위 시퀀스가 있는지 확인할 수 있습니다. 정규식은 패턴 개체 패턴을 생성할 때 사용되는 정규식입니다.
입력 및 정규식과 일치하는 다음 하위 시퀀스를 찾습니다. 성공하면 메서드는 true를 반환하고, 그렇지 않으면 false를 반환합니다. 매처가 이 메서드를 처음 호출할 때 정규식과 일치하는 입력의 첫 번째 하위 시퀀스를 찾습니다. find()가 true를 반환하면 매처가 find() 메서드를 다시 호출하면 마지막부터 검색을 시작합니다. 패턴과 성공적으로 일치한 하위 시퀀스입니다. 또한 find 메서드가 true를 반환하면 매처는 start() 메서드와 end 메서드를 호출하여 입력에서 일치하는 패턴 하위 시퀀스의 시작 및 끝 위치를 가져올 수 있습니다. find 메소드가 true를 반환하면 matcher는 group()을 호출하여 이번에 find 메소드가 찾은 일치 패턴의 하위 문자열을 반환합니다.
일치자는 이 메서드를 호출하여 입력이 정규식과 완전히 일치하는지 확인합니다.
매처는 이 메서드를 호출하여 입력 시작 부분부터 정규식과 일치하는 하위 시퀀스가 있는지 확인합니다. lookingAt() 메서드가 true를 반환하면 매처는 start() 메서드와 end 메서드를 호출하여 lookingAt() 메서드에서 찾은 일치 패턴의 하위 시퀀스 입력에서 시작 위치와 끝 위치를 가져옵니다. lookingAt() 메서드가 true를 반환하면 매처는 group()을 호출하여 lookingAt() 메서드에서 찾은 일치 패턴의 하위 시퀀스를 반환합니다.
매처는 이 메소드를 호출하여 start 매개변수로 지정된 위치에서 시작하는 정규식과 일치하는 하위 시퀀스가 입력에 있는지 확인합니다. 매개변수 start가 0인 경우 이 메소드는 lookingAt()와 동일한 기능을 갖습니다.
일치자는 이 메소드를 호출하여 문자열을 반환할 수 있으며, 문자열은 패턴 정규식과 일치하는 입력의 모든 하위 문자열을 매개변수 대체에 의해 지정된 문자열로 대체하여 얻을 수 있습니다.
일치자는 이 메소드를 호출하여 패턴 정규식과 일치하는 입력의 첫 번째 하위 문자열을 매개변수 대체에 의해 지정된 문자열로 대체하여 얻은 문자열을 반환합니다.