Java: Kiểm tra dữ liệu (Test Harness)

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Bài viết này sẽ định nghĩa một lớp dùng để kiểm tra dữ liệu và có thể sử dụng lại được, nó sẽ cho chúng ta một cái nhìn tổng quan về cấu trúc của biểu thức chính quy. Ứng dụng chạy lặp đi lặp lại việc yêu cầu người dùng nhập vào một chuỗi cho đến khi nhập đúng theo mẫu mà biểu thức chính quy đã đề ra thì thôi.

package v1study.com;

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

public class RegexTestHarness {

  public static void main(String[] args) {
    Console console = System.console();
    if (console == null) {
      System.err.println("No console.");
      System.exit(1);
    }
    while (true) {

      Pattern pattern =
        Pattern.compile(console.readLine("%nNhp vào mt biu thc chính quy: "));

      Matcher matcher =
        pattern.matcher(console.readLine("Nhp vào mt chui đ tìm kiếm: "));

      boolean found = false;
      while (matcher.find()) {
        console.format("Tìm thy " +
            " \"%s\" bt đu ti " +
            "index %d và kết thúc ti %d.%n",
          matcher.group(),
          matcher.start(),
          matcher.end());
        found = true;
      }
      if (!found) {
        console.format("Không tìm thy, không tương thích.%n");
      }
    }
  }
}

Trước khi tiếp tục chuyển sang bài viết tiếp theo, bạn hãy lưu và chạy đoạn mã trên để đảm bảo rằng môi trường phát triển của bạn hỗ trợ các gói yêu cầu. Trong trường hợp môi trường phát triển của bạn không hỗ trợ Console, bạn có thể thực thi đoạn code sau để thay thế:

package v1study.com;

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

public class RegexTestHarness {

  public static void main(String[] args) {
    Scanner scanner=new Scanner(System.in);
    while (true) {
      System.out.print("Nhp vào mt biu thc chính quy: ");
      Pattern pattern = Pattern.compile(scanner.nextLine());

      System.out.print("Nhp vào mt chui đ tìm kiếm: ");
      Matcher matcher = pattern.matcher(scanner.nextLine());

      boolean found = false;
      while (matcher.find()) {
        System.out.printf("Tìm thy " +
            " \"%s\" bt đu ti " +
            "index %d và kết thúc ti %d.%n",
          matcher.group(),
          matcher.start(),
          matcher.end());
        found = true;
      }
      if (!found) {
        System.out.printf("Không tìm thy, không tương thích.%n");
      }
    }
  }
}
» Tiếp: Hằng chuỗi
« Trước: Giới thiệu biểu thức chính quy
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!