Câu trả lời ngắn gọn: Ví dụ của bạn, có.
Câu trả lời dài: Có, nhưng Pattern.quote linh hoạt hơn. Điều gì xảy ra nếu bạn chỉ muốn một số mẫu được mô tả? Giống như:
Pattern.compile(Pattern.quote(s) + "+", x)
Khi đặt mẫu Pattern.LITERAL flag, ngay cả ký tự +
giờ đây sẽ được xử lý theo nghĩa đen.
Nếu bạn không tin tưởng tài liệu, có thể xem the source code tại Tìm kiếm mã Google cho Pattern.compile
sẽ giúp ích.
Từ những gì tôi có thể xuất phát từ cách nhìn vào mã nguồn:
Nếu cờ đen là không bộ, bất kể tất cả những lá cờ khác, nó sẽ tìm kiếm bất kỳ \ Q ... \ E Các khối được trích dẫn và tự thoát khỏi các ký tự đặc biệt, giống như một ký tự mong đợi.
Nếu cờ đen được thiết lập, nó sẽ chuyển đổi toàn bộ mô hình bằng cách sử dụng phương pháp newSlice, và có những trường hợp đặc biệt đối với ít nhất là CASE_INSENSITIVE
cờ và UNICODE_CASE
cờ
Nguồn
2011-01-29 23:13:11
Tôi đã đọc các tài liệu hai lần và nó không rõ ràng. Hai mô tả tương tự nhưng không giống nhau, OTOH, tôi thấy không có sự khác biệt thực sự. Trong tài liệu cho báo giá họ viết "như thể nó là một mẫu chữ", và không có gì về trường hợp. Tôi biết \ Q .. \ E, và đó là cách Pattern.quote thực sự hoạt động. – maaartinus