Xu Hướng 5/2022 # Hướng Dẫn Sử Dụng Biểu Thức Chính Quy Trong Java # Top View

Xem 13,563

Bạn đang xem bài viết Hướng Dẫn Sử Dụng Biểu Thức Chính Quy Trong Java được cập nhật mới nhất ngày 23/05/2022 trên website Uta.edu.vn. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Cho đến thời điểm hiện tại, bài viết này đã đạt được 13,563 lượt xem.

--- Bài mới hơn ---

  • Làm Game Siêu Xịn Bằng Java Phần 1
  • Hướng Dẫn Cấu Hình Và Cài Đặt Java
  • Việt Hóa Java Trên S40 Toàn Tập ( Tất Nhiên Vẫn Thiếu Vài Chỗ )
  • Ninjaschool Phien Ban X2 Dùng Java J2Me
  • Hướng Dẫn Xử Lý Json Trong Javascript
  • Một biểu thức chính quy (Regular expssions) định nghĩa một khuôn mẫu (pattern) tìm kiếm chuỗi. Nó có thể được sử dụng tìm kiếm, sửa đổi, và thao tác trên văn bản. Khuôn mẫu được định nghĩa bởi biểu thức chính quy có thể khớp một hoặc một vài lần, hoặc không khớp với một văn bản cho trước.

    Viết tắt của biểu thức chính quy là regex

    Biểu thức chính quy (Regular expssion) được hỗ trợ bởi hầu hết các ngôn ngữ lập trình, ví dụ, Java, C#, C/C++, v..v Thật không may mỗi ngôn ngữ hỗ trợ biểu thức thông thường hơi khác nhau.

    TT

    Biểu thức chính quy

    Mô tả

    21

    ?

    Xuất hiện 0 hoặc 1 lần, ? viết ngắn gọn cho {0,1}.

    Một số ký tự đặc biệt trong Java Regex:

    Những ký tự liệt kê ở trên là các ký tự đặc biệt. Trong Java Regex bạn muốn nó hiểu các ký tự đó theo cách thông thường bạn cần thêm dấu ở phía trước.

    Chẳng hạn ký tự chấm . java regex đang hiểu là một ký tự bất kỳ, nếu bạn muốn nó hiểu là một ký tự chấm thông thường, cần phải có dấu phía trước.

    // Mẫu regex mô tả một ký tự bất kỳ. String regex = "."; // Mẫu regex mô tả ký tự dấu chấm. String regex = "\.";

    ... // Kiểm tra đối tượng toàn bộ String có khớp với regex hay không. public boolean matches(String regex) ..

    Sử dụng method String.matches(String regex) cho phép bạn kiểm tra toàn bộ String có khớp với một regex hay không. Đây là một cách thông dụng nhất. Hãy xem các ví dụ:

    1. Pattern là một đối tượng mẫu, một phiên bản đã được biên dịch của một biểu thức chính quy. Nó không có cấu tử (constructor) public, và chúng ta sẽ sử dụng method tĩnh compile(String) để tạo đối tượng, với tham số là biểu thức chính quy.

    2. Matcher là một phương tiện để so khớp chuỗi dữ liệu đầu vào với đối tượng Pattern đã được tạo ra ở trên. Class này không có cấu tử public, và chúng ta lấy đối tượng này thông qua method matcher(String) của đối tượng Pattern. Với tham số đầu vào String là văn bản cần kiểm tra.

    3. PatternSyntaxException sẽ bị ném ra nếu biểu thức chính quy có ngữ pháp không chính xác.

    String regex= ".xx."; // Tạo đối tượng Pattern thông qua method tĩnh. Pattern pattern = Pattern.compile(regex); // Lấy ra đối tượng Matcher Matcher matcher = pattern.matcher("MxxY"); boolean match = matcher.matches(); System.out.println("Match "+ match);

    public static Pattern compile(String regex, int flags) ; public static Pattern compile(String regex); public Matcher matcher(CharSequence input); public static boolean matches(String regex, CharSequence input);

    public int start() public int start(int group) public int end() public int end(int group) public String group() public String group(int group) public String group(String name) public int groupCount() public boolean matches() public boolean lookingAt() public boolean find()

    Đây là một ví dụ sử dụng Matcher và method find() để tìm kiếm các chuỗi con khớp với một biểu thức chính quy.

    Method Matcher.lookingAt()

    Một biểu thức chính quy bạn có thể tách ra thành các nhóm (group):

    // Một biểu thức chính quy String regex = "\s+=\d+"; // Viết dưới dạng group, bởi dấu () String regex2 = "(\s+)(=)(\d+)"; // Một cách khác. String regex3 = "(\s+)(=\d+)";

    Chú ý: Sử dụng (?:pattern) để thông báo với Java không xem đây là một group (None-capturing group)

    Nhóm bắt theo tên cũng có thể được truy cập thông qua Matcher.group(int group) với cách đánh chỉ số tương tự.

    Nội bộ, Java chỉ lập bản đồ (ánh xạ) từ tên đến chỉ số nhóm. Do đó, bạn không thể sử dụng cùng tên để bắt 2 nhóm khác nhau.

    Trong một số tình huống *? rất quan trọng, hãy xem một ví dụ sau:

    // Đây là một regex // Bắt gặp ký tự bất kỳ 0 hoặc nhiều lần, // Đoạn TEXT1 sau đây có vẻ hợp với regex nói trên. // Đoạn TEXT2 sau cũng hợp với regex nói trên.

    *? sẽ tìm ra một phù hợp nhỏ nhất. Chúng ta xem ví dụ sau:

    --- Bài cũ hơn ---

  • Giới Thiệu Về Javascript Và Đoạn Mã Javascript Đầu Tiên
  • Bảng Ngọc Jinx Và Hướng Dẫn Chơi Tướng Jinx Chi Tiết Nhất
  • Cách Lên Đồ, Kỹ Năng, Skill Tướng Jinx
  • Hướng Dẫn Cách Đánh Jinx Sát Thương Vật Lý Trong Liên Minh Huyền Thoại
  • Lmht: Hướng Dẫn Sử Dụng Siêu Xạ Thủ Jinx Mùa 10.
  • Cập nhật thông tin chi tiết về Hướng Dẫn Sử Dụng Biểu Thức Chính Quy Trong Java trên website Uta.edu.vn. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất. Chúc bạn một ngày tốt lành!

  • Web hay
  • Links hay
  • Push
  • Chủ đề top 10
  • Chủ đề top 20
  • Chủ đề top 30
  • Chủ đề top 40
  • Chủ đề top 50
  • Chủ đề top 60
  • Chủ đề top 70
  • Chủ đề top 80
  • Chủ đề top 90
  • Chủ đề top 100
  • Bài viết top 10
  • Bài viết top 20
  • Bài viết top 30
  • Bài viết top 40
  • Bài viết top 50
  • Bài viết top 60
  • Bài viết top 70
  • Bài viết top 80
  • Bài viết top 90
  • Bài viết top 100