Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีจับคู่สตริงโดยไม่คำนึงถึงตัวพิมพ์เล็ก/ใหญ่ด้วย Java Regex

เมธอด 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