เมธอด compile ของคลาส Pattern ยอมรับสองพารามิเตอร์:
- ค่าสตริงที่แสดงนิพจน์ปกติ
- ค่าจำนวนเต็มที่เป็นฟิลด์ของคลาส
Pattern
ฟิลด์ CASE_INSENSITIVE ของคลาส Pattern ใช้สำหรับจับคู่ตัวอักษรโดยไม่สนใจตัวพิมพ์เล็กหรือใหญ่ ดังนั้น หากคุณส่งค่าฟล็กนี้ไปพร้อมกับนิพจน์ปกติในเมธอด compile() ตัวอักษรทั้งสองรูปแบบจะถูกจับคู่
ตัวอย่าง 1
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main( String args[] ) { Scanner sc = new Scanner(System.in); System.out.println("Enter input data: "); String input = sc.nextLine(); // นิพจน์ปกติสำหรับค้นหาตัวอักษรที่ต้องการ String regex = "test"; // คอมไพล์นิพจน์ปกติ Pattern pattern = Pattern.compile(regex);//, Pattern.CASE_INSENSITIVE); // ดึงออบเจ็กต์ Matcher Matcher matcher = pattern.matcher(input); int count =0; while (matcher.find()) { count++; } System.out.println("Number of occurrences: "+count); } }ผลลัพธ์
Enter input data: test TEST Test sample data Number of occurrences: 3
ตัวอย่าง 2
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class VerifyBoolean { public static void main(String args[]) { Scanner sc = new Scanner(System.in); System.out.println("Enter a string value: "); String str = sc.next(); Pattern pattern = Pattern.compile("true|false", Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(str); if(matcher.matches()){ System.out.println("Given string is a boolean type"); } else { System.out.println("Given string is not a boolean type"); } } }ผลลัพธ์
Enter a string value: TRUE Given string is a boolean type