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

Giải thích cấu trúc biểu thức chính quy re? trong Java

Phần biểu thức/metaký tự “re?” khớp với 0 hoặc 1 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 = "Wel?";
        String input = "Welcome to Tutorialspoint";
        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 chấp nhận chuỗi từ người dùng, kiểm tra xem nó có chứa chữ cái (cả hai trường hợp) và cũng chấp nhận chữ số.

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

public class Test {
    public static void main(String args[]) {
        String regex = "[a-zA-Z][0-9]?";
        Scanner sc = new Scanner(System.in);
        System.out.println("Nhập chuỗi đầu vào: ");
        String input = sc.nextLine();
        
        // Tạo đối tượng Pattern
        Pattern p = Pattern.compile(regex);
        
        // Tạo đối tượng Matcher
        Matcher m = p.matcher(input);
        
        if (m.find()) {
            System.out.println("Khớp xảy ra");
        } else {
            System.out.println("Không khớp");
        }
    }
}

Kết quả 1

Nhập chuỗi đầu vào: sample text
Khớp xảy ra

Kết quả 2

Nhập chuỗi đầu vào: sample text 34 56
Khớp xảy ra

Kết quả 3

Nhập chuỗi đầu vào: 32 89 45 63
Không khớp