Lớp java.util.regex.Matcher đại diện cho một công cụ thực hiện các hoạt động so khớp khác nhau. Không có hàm tạo nào cho lớp này, bạn có thể tạo / lấy một đối tượng của lớp này bằng cách sử dụng phương thức match () của lớp java.util.regex.Pattern.
toMatchResult () phương thức này (Matcher) trả về trạng thái khớp của trình so khớp hiện tại.
Ví dụ 1
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>"; //Regular expression to match contents of the bold tags String regex = "<b>(\\S+)</b>"; //Creating a pattern object Pattern pattern = Pattern.compile(regex); //Matching the compiled pattern in the String System.out.println("State of the 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("State of the matcher after resetting it: \n"+matcher.toMatchResult()); } }
Đầu ra
State of the 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>] State of the matcher after resetting it: java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,35 lastmatch=<b>line</b>]
Ví dụ 2
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(); //Creating a pattern object Pattern pattern = Pattern.compile(regex); //Creating a Matcher object Matcher matcher = pattern.matcher(input); System.out.println("Match state: "); //Finding the match while(matcher.find()) { System.out.println(matcher.toMatchResult()); } } }
Đầu ra
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=#]