Gói java.util.regex
trong Java cung cấp các lớp và giao diện để làm việc với các biểu thức chính quy (regular expressions). Biểu thức chính quy là một công cụ mạnh mẽ cho phép bạn thực hiện tìm kiếm và thay thế chuỗi, kiểm tra định dạng, và phân tích cú pháp văn bản. Gói này bao gồm ba lớp chính: Pattern
, Matcher
, và PatternSyntaxException
. Dưới đây là mô tả chi tiết về từng lớp trong gói java.util.regex
.
Lớp Pattern
đại diện cho một biểu thức chính quy đã biên dịch. Bạn không thể tạo đối tượng Pattern
trực tiếp; thay vào đó, bạn sử dụng phương thức tĩnh compile()
để biên dịch một chuỗi thành một đối tượng Pattern
.
Pattern
.Matcher
cho chuỗi đầu vào sử dụng Pattern
này.import java.util.regex.Pattern; public class PatternExample { public static void main(String[] args) { Pattern pattern = Pattern.compile("\d+"); // Mẫu tìm số System.out.println("Pattern: " + pattern); } }
Lớp Matcher
được tạo ra từ một đối tượng Pattern
và chịu trách nhiệm cho việc tìm kiếm và khớp với chuỗi đầu vào. Nó cung cấp các phương thức để kiểm tra và lấy thông tin về các kết quả khớp.
import java.util.regex.Matcher; import java.util.regex.Pattern; public class MatcherExample { public static void main(String[] args) { String text = "123abc456"; Pattern pattern = Pattern.compile("\d+"); Matcher matcher = pattern.matcher(text); while (matcher.find()) { System.out.println("Found: " + matcher.group() + " at index " + matcher.start()); } } }
Lớp PatternSyntaxException
là một ngoại lệ được ném ra khi có lỗi trong cú pháp của biểu thức chính quy. Nó chứa thông tin chi tiết về lỗi như vị trí lỗi trong mẫu và lý do.
import java.util.regex.PatternSyntaxException; public class PatternSyntaxExceptionExample { public static void main(String[] args) { try { Pattern pattern = Pattern.compile("["); // Cú pháp không hợp lệ } catch (PatternSyntaxException e) { System.out.println("Pattern syntax error: " + e.getDescription()); } } }
Gói java.util.regex
cung cấp các lớp mạnh mẽ để làm việc với các biểu thức chính quy trong Java. Lớp Pattern
cho phép bạn biên dịch và định nghĩa các mẫu, lớp Matcher
giúp tìm kiếm và khớp các chuỗi đầu vào với mẫu, và lớp PatternSyntaxException
xử lý các lỗi cú pháp có thể xảy ra. Hiểu rõ về các lớp này sẽ giúp bạn thực hiện các thao tác xử lý chuỗi một cách hiệu quả và chính xác.