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

Java Regular Expression ตรวจสอบว่าสตริงมีตัวอักษรภาษาอังกฤษหรือไม่


Regular Expression ต่อไปนี้ใช้จับคู่ตัวอักษรภาษาอังกฤษในอินพุตที่กำหนด:

"^[a-zA-Z]*$"

รายละเอียด:

  • ^ จับคู่จุดเริ่มต้นของสตริง
  • [a-zA-Z] จับคู่ตัวอักษรภาษาอังกฤษทั้งพิมพ์เล็กและพิมพ์ใหญ่
  • * ระบุว่าตัวอักษรอาจเกิดขึ้น 0 ครั้งขึ้นไป
  • $ จับคู่จุดสิ้นสุดของสตริง

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

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

public class ContainsAlphabetExample {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String names[] = new String[5];
        for (int i = 0; i < names.length; i++) {
            System.out.println("Enter your name: ");
            names[i] = sc.nextLine();
        }
        
        // Regular expression สำหรับยอมรับตัวอักษรภาษาอังกฤษ
        String regex = "^[a-zA-Z]*$";
        
        // สร้าง Pattern object
        Pattern pattern = Pattern.compile(regex);
        
        for (String name : names) {
            // สร้าง Matcher object
            Matcher matcher = pattern.matcher(name);
            if (matcher.matches()) {
                System.out.println(name + " is a valid name");
            } else {
                System.out.println(name + " is not a valid name");
            }
        }
    }
}

Output

Enter your name: krishna
Enter your name: kasyap
Enter your name: maruthi#
Enter your name: Sai_Ram
Enter your name: Vani.Viswanath
krishna is a valid name
kasyap is a valid name
maruthi# is not a valid name
Sai_Ram is not a valid name
Vani.Viswanath is not a valid name

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

import java.util.Scanner;

public class Just {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter your name: ");
        String name = sc.nextLine();
        String regex = "^[a-zA-Z]*$";
        boolean result = name.matches(regex);
        if (result) {
            System.out.println("Given name is valid");
        } else {
            System.out.println("Given name is not valid");
        }
    }
}

Output

Enter your name: vasu#dev
Given name is not valid