คลาส java.util.regex.Matcher แทนเครื่องจักรที่ดำเนินการจับคู่ต่างๆ ไม่มีคอนสตรัคเตอร์สำหรับคลาสนี้ คุณสามารถสร้าง/รับออบเจ็กต์ของคลาสนี้ได้โดยใช้เมธอด matcher() ของคลาส java.util.regex.Pattern
เมธอด matches() ของคลาสนี้จะจับคู่สตริงกับรูปแบบที่แสดงโดยนิพจน์ปกติ (ทั้งคู่ที่กำหนดขณะสร้างออบเจ็กต์นี้) ในกรณีที่จับคู่ได้ เมธอดนี้ส่งคืน true มิฉะนั้น false สำหรับผลลัพธ์ของเมธอดนี้จะเป็น true ทั้งภูมิภาค (entire region) ต้องมีการจับคู่
ตัวอย่าง
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MatchesExample {
public static void main(String args[]) {
// อ่านสตริงจากผู้ใช้
System.out.println("Enter a String");
Scanner sc = new Scanner(System.in);
String input = sc.next();
// นิพจน์ปกติจับคู่คำที่เริ่มต้นด้วยตัวเลข
String regex = "^[0-9].*$";
// คอมไพล์นิพจน์ปกติ
Pattern pattern = Pattern.compile(regex);
// ดึงออบเจ็กต์ matcher
Matcher matcher = pattern.matcher(input);
// ตรวจสอบการจับคู่
boolean bool = matcher.matches();
if(bool) {
System.out.println("First character is a digit");
} else {
System.out.println("First character is not a digit");
}
}
}ผลลัพธ์
Enter a String 4hiipla First character is a digit