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

โปรแกรมจับคู่สระในสตริงด้วย Regular Expression ใน Java


คุณสามารถจัดกลุ่มตัวอักษรที่ต้องการจับคู่ทั้งหมดไว้ภายใน square braces "[ ]" กล่าวคือ Metacharacter/sub-expression "[ ]" จับคู่ตัวอักษรที่ระบุทั้งหมด ดังนั้น เพื่อจับคู่ตัวอักษรสระทั้งหมด ให้ระบุตัวอักษรสระภายใน braces เหล่านี้ ดังนี้:

[aeiouAEIOU]

ตัวอย่างที่ 1: ใช้ Pattern และ Matcher

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class MatchVowels {
    public static void main(String args[]) {
        String regex = "[aeiouAEIOU]";
        System.out.println("Enter input string: ");
        Scanner sc = new Scanner(System.in);
        String input = sc.nextLine();
        
        // คอมไพล์ regular expression
        Pattern.compile(regex);
        
        // คอมไพล์ regular expression (ซ้ำ)
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);
        
        if (matcher.find()) {
            System.out.println("The input string contains vowels");
        } else {
            System.out.println("The input string does not contain vowels");
        }
    }
}

Output

Enter input string: hello how are you welcome
The input string contains vowels

ตัวอย่างที่ 2: ใช้ String.matches()

import java.util.Scanner;

public class Test {
    public static void main(String args[]) {
        String regex = "[aeiouAEIOU]";
        System.out.println("Enter input string: ");
        Scanner sc = new Scanner(System.in);
        String input = sc.nextLine();
        boolean result = input.matches(regex);
        if (result) {
            System.out.println("The input string contains vowels");
        } else {
            System.out.println("The input string does not contain vowels");
        }
    }
}

Output

Enter input string: hello how are you welcome
The input string does not contain vowels