Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Metaký tự re{n,m} trong Regular Expression Java

Phần biểu thức/metaký tự “re{n,m}” khớp ít nhất n và nhiều nhất m lần xuất hiện của biểu thức đi trước.

Ví dụ 1

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

public class RegexExample {
    public static void main(String args[]) {
        String regex = "xyy{2,4}";
        String input = "xxyyzxxyyyyxyyzxxyyzz";
        Pattern p = Pattern.compile(regex);
        Matcher m = p.matcher(input);
        int count = 0;
        while (m.find()) {
            count++;
        }
        System.out.println("Số lần khớp: " + count);
    }
}

Kết quả

Số lần khớp: 1

Ví dụ 2

Chương trình Java sau đọc giá trị tên từ người dùng và chỉ cho phép 1 đến 20 ký tự.

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

public class RegexExample {
    public static void main(String args[]) {
        // Biểu thức chính quy khớp ký tự ít nhất 1 tối đa 20
        String regex = "[a-zA-Z]{1,20}";
        Scanner sc = new Scanner(System.in);
        System.out.println("Nhập tên học sinh:");
        String name = sc.nextLine();
        Pattern p = Pattern.compile(regex);
        Matcher m = p.matcher(name);
        if (m.matches()) {
            System.out.println("Tên phù hợp");
        } else {
            System.out.println("Tên không phù hợp");
        }
    }
}

Kết quả 1

Nhập tên học sinh: Mouktika
Tên phù hợp

Kết quả 2

Nhập tên học sinh: ka 34
Tên không phù hợp

Kết quả 3

Nhập tên học sinh: Sri Veera Venkata Satya Sai Suresh Santosh Samrat
Tên không phù hợp