33. Regular Expression trong lập trình java hướng đối tượng

Trong lập trình Java hướng đối tượng, Regular Expression (Regex) là một chuỗi mẫu được sử dụng để tìm kiếm và so khớp các chuỗi theo một quy tắc nhất định. Java cung cấp một package là java.util.regex để làm việc với Regular Expression.

Các lớp quan trọng trong package java.util.regex bao gồm:

  1. Pattern: Đại diện cho một mẫu Regular Expression. Một đối tượng Pattern được tạo ra bằng cách biên dịch một chuỗi mẫu Regex.
  2. Matcher: Đại diện cho một đối tượng so khớp được tạo ra từ một mẫu Regex và một chuỗi cần so khớp. Đối tượng Matcher được sử dụng để tìm và truy cập các sự khớp trong chuỗi.

Để sử dụng Regular Expression trong Java, bạn có thể làm như sau:

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

public class RegexExample {
    public static void main(String[] args) {
        String input = "Hello, World!";

        String pattern = "W\\w+"; // Mẫu Regex để tìm các từ bắt đầu bằng "W"

        Pattern regex = Pattern.compile(pattern);
        Matcher matcher = regex.matcher(input);

        while (matcher.find()) {
            String matchedText = matcher.group();
            System.out.println("Matched: " + matchedText);
        }
    }
}

Trong ví dụ trên, chúng ta tạo một mẫu Regex "W\\w+" để tìm các từ bắt đầu bằng chữ “W” (không phân biệt chữ hoa, chữ thường). Chúng ta sử dụng Pattern.compile() để biên dịch mẫu Regex thành một đối tượng Pattern. Sau đó, chúng ta sử dụng Pattern.matcher() để tạo ra một đối tượng Matcher từ mẫu Regex và chuỗi cần so khớp.

Sau đó, chúng ta sử dụng Matcher.find() để tìm và truy cập các sự khớp trong chuỗi. Khi một sự khớp được tìm thấy, chúng ta sử dụng Matcher.group() để lấy nội dung khớp và in ra.

Regex cho phép bạn thực hiện các tác vụ phức tạp như tìm kiếm, thay thế, kiểm tra định dạng và xử lý dữ liệu dựa trên quy tắc nhất định. Bạn có thể tìm hiểu thêm về cú pháp và các ký tự đặc biệt của Regular Expression trong Java để áp dụng chúng trong các tác vụ xử lý chuỗi phức tạp.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top