English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
java.util.regex.Matcher 클래스는 다양한 매칭 작업을 수행하는 엔진을 나타냅니다. 이 클래스는 생성자가 없으며, 사용할 수 있습니다.matches()
java.util.regex.Pattern 클래스의 메서드로 생성/이 클래스의 객체를 얻습니다.
이(매칭기)의toMatchResult()메서드는 현재 매칭器的 상태를 반환합니다.
import java.util.regex.Matcher; import java.util.regex.Pattern; public class ToMatchResultExample { public static void main(String[] args) { String str = "<p>This <b>is</b> an <b>example</b>.</p>"; //정규 표현식이 타イト릭 태그의 내용을 매칭 String regex = "<b>(\\S+)</b>"; //Pattern 객체 생성 Pattern pattern = Pattern.compile(regex); //문자열 내의 컴파일된 패턴을 매칭 System.out.println("matcher의 상태: "); Matcher matcher = pattern.matcher(str); while (matcher.find()) { System.out.println(matcher.toMatchResult()); String result = matcher.group(1); } matcher = matcher.reset("<p>this is another <b>line</b>.</p>"); matcher.find(); System.out.println(""); System.out.println("matcher의 재설정 후 상태: \n");+matcher.toMatchResult()); } }
출력 결과
matcher의 상태: java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,40 lastmatch=<b>is</b>] java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,40 lastmatch=<b>example</b>] matcher의 재설정 후 상태: java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,35 lastmatch=<b>line</b>]
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class ToMatchResultExample { public static void main(String[] args) { String regex = "[#]"; System.out.println("Enter a string: "); Scanner sc = new Scanner(System.in); String input = sc.nextLine(); //Pattern 객체 생성 Pattern pattern = Pattern.compile(regex); //Matcher 객체 생성 Matcher matcher = pattern.matcher(input); System.out.println("Match state: "); //찾은 경기 while(matcher.find()) { System.out.println(matcher.toMatchResult()); } } }
출력 결과
Enter a string: #This #is #a #sample #text Match state: java.util.regex.Matcher[pattern=[#] region=0,26 lastmatch=#] java.util.regex.Matcher[pattern=[#] region=0,26 lastmatch=#] java.util.regex.Matcher[pattern=[#] region=0,26 lastmatch=#] java.util.regex.Matcher[pattern=[#] region=0,26 lastmatch=#] java.util.regex.Matcher[pattern=[#] region=0,26 lastmatch=#]