CodeGym/Blog Java/Ngẫu nhiên/Java Regex - Trình so khớp

Java Regex - Trình so khớp

Xuất bản trong nhóm

Regex trong Java là gì?

Biểu thức chính quy hoặc biểu thức chính quy là một chuỗi các ký tự tạo thành một mẫu. Khi bạn đang tìm kiếm bất kỳ dữ liệu nào, bạn có thể sử dụng mẫu chuyên biệt này để tìm các chuỗi phù hợp. Nó có thể đơn giản như một ký tự đơn hoặc có thể là một mẫu phức tạp hơn. Trong Java, bạn có một gói biểu thức chính quy java có các lớp cung cấp khả năng sử dụng các biểu thức chính quy để tìm kiếm và thao tác mẫu. Gói này được nhập vào mã của bạn theo cách sau.
import java.util.regex.*;

Java Regex - Trình so khớp

Lớp Java Matcher cung cấp khả năng khớp mẫu với các biểu thức chính quy.
Dòng mã này nhập tất cả các lớp có sẵn trong gói biểu thức chính quy. Nếu bạn chỉ muốn nhập lớp Matcher , bạn có thể nhập nó bằng dòng mã sau.
import java.util.regex.Matcher;
Gói biểu thức chính quy java có ba lớp:
  1. Lớp mẫu : Để xác định mẫu cần tìm kiếm.

  2. Lớp Matcher : Để khớp mẫu trong văn bản và tìm nó.

  3. Lớp PatternSyntaxException : Để chỉ ra bất kỳ lỗi cú pháp nào trong biểu thức chính quy.

Công việc của nó khá đơn giản. Đầu tiên, bạn tạo một đối tượng Mẫu từ biểu thức chính quy để xác định một mẫu. Sau đó, một đối tượng Matcher được tạo bằng cách sử dụng đối tượng Pattern . Lớp Matcher có nhiều phương thức. Điều quan trọng nhất trong số này là phương thứcmatches() trả về true nếu biểu thức chính quy khớp với văn bản, nếu không thì trả về false . Lớp Java Matcher có nhiều phương thức hữu ích khác để thay thế văn bản trong chuỗi đầu vào thực hiện các hàm phức tạp hơn các phương thức thay thế() trong java. Chỉ có hai phương thức thay thế() trong java, trong khi lớp Matcher cung cấp nhiều hàm cho tác vụ này.

Các phương thức lớp của trình so khớp Java

Một số phương thức của Java Matcher Class được mô tả bên dưới.
  • booleanmatch() - trả về true nếu biểu thức chính quy khớp với mẫu.

  • boolean find() - tìm biểu thức chính quy tiếp theo khớp với mẫu.

  • boolean find(int start) - tìm biểu thức chính quy tiếp theo khớp với mẫu từ điểm bắt đầu đã cho.

  • int start() - trả về chỉ số bắt đầu của trận đấu.

  • int end() - trả về chỉ số kết thúc của kết quả khớp được trả về.

  • int groupCount() - trả về tổng số nhóm trong trận đấu.

  • String thay thếAll(String replacement) - thay thế mọi chuỗi con của trận đấu bằng sự thay thế đã cho.

  • Chuỗi thay thếFirst(Thay thế chuỗi) - thay thế chuỗi con đầu tiên của trận đấu bằng chuỗi thay thế đã cho.

Ví dụ về trình so khớp Java

Có nhiều phương thức hữu ích cho lớp Matcher , tuy nhiên, chúng ta sẽ xem xét thêm (các) ví dụ cụ thể về phương thứcmatches() .

Sử dụng phương thứcmatch()

Phần sau đây trình bày một Ví dụ về trình so khớp Java cho phương thứcmatches() .
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Example {

	public static void main(String[] args) {

		String regexPattern = "(.*)apple(.*)"; // this regex means that any char sequence can precede or succeed "apple"
		String firstCheck = "Apples";
		String secondCheck = "Apple";
		String thirdCheck = "apple";
		String fourthCheck = "An apple a day keeps the doctor away.";
		String fifthCheck = "green apple, yellow apple, red apple, i love all kinds of apples.";


		Pattern pattern = Pattern.compile(regexPattern);
		Matcher matcher1 = pattern.matcher(firstCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + firstCheck);
		System.out.println("Output for matches(): " + matcher1.matches() + "\n");

		Matcher matcher2 = pattern.matcher(secondCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + secondCheck);
		System.out.println("Output for matches(): " + matcher2.matches() + "\n");

		Matcher matcher3 = pattern.matcher(thirdCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + thirdCheck);
		System.out.println("Output for matches(): " + matcher3.matches() + "\n");

		Matcher matcher4 = pattern.matcher(thirdCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + fourthCheck);
		System.out.println("Output for matches(): " + matcher4.matches() + "\n");

		Matcher matcher5 = pattern.matcher(fifthCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + fifthCheck);
		System.out.println("Output for matches(): " + matcher5.matches() + "\n");
	}
}
đầu ra
Mẫu là: (.*)apple(.*) Văn bản cần kiểm tra là: Táo Đầu ra cho các trận đấu(): sai Mẫu là: (.*)apple(.*) Văn bản cần kiểm tra là: Apple Đầu ra cho các trận đấu(): sai Mẫu là: (.*)apple(.*) Văn bản cần kiểm tra là: apple Đầu ra cho các trận đấu(): đúng Mẫu là: (.*)apple(.*) Nội dung cần kiểm tra là: Một quả táo mỗi ngày giúp bạn tránh xa bác sĩ. Đầu ra cho các trận đấu(): đúng Mẫu là: (.*)apple(.*) Nội dung cần kiểm tra là: táo xanh, táo vàng, táo đỏ, tôi yêu tất cả các loại táo. Đầu ra cho các trận đấu(): đúng

Phần kết luận

Đến cuối bài đăng này, chúng tôi hy vọng bạn đã làm quen với Lớp Java Matcher trong Java. Bạn đã học cách sử dụng nó trong mã của mình. Bạn cũng đã học cách gọi phương thức Match() của Matcher Class. Bạn có thể tự mình thử các phương pháp khác của Matcher Class để hiểu sâu hơn. Tiếp tục thực hành để hiểu sâu hơn về khái niệm này. Cho đến lúc đó, hãy tiếp tục phát triển và tiếp tục tỏa sáng!
Bình luận
  • Phổ biến
  • Mới
Bạn phải đăng nhập để đăng nhận xet
Trang này chưa có bất kỳ bình luận nào