Nhóm Android đã chọn một cách không may để triển khai pathPattern. Bạn có thể có một cái nhìn tại như thế nào phù hợp với mô hình được thực hiện trong lớp android.os.PatternMatch:.
https://github.com/android/platform_frameworks_base/blob/master/core/java/android/os/PatternMatcher.java
Chúng tôi đang sử dụng để làm việc * giống như trong một biểu thức chính quy, nơi mà các trận đấu * tham lam và sẽ phù hợp với nhiều nhân vật nhất có thể. Trong triển khai của PatterMatch, trận đấu không tham lam. . * Sẽ khớp với nhiều ký tự nhất có thể, cho đến khi nó tìm thấy kết quả phù hợp cho ký tự tiếp theo trong chuỗi.
Ví dụ:
String: "/mnt/my.file.mytype"
pathPattern: "*" ". * \\ MyType"
Các trong pathPattern sẽ phù hợp với chuỗi con "/ mnt/my" và do đó sẽ không khớp với chuỗi.
Với giới hạn này, tôi không thấy cách viết PathPattern có thể khớp với bất kỳ chuỗi nào kết thúc bằng ".mytype". Điều tốt nhất bạn có thể làm là làm theo giải pháp của Jason để thêm các mẫu bổ sung để phù hợp với các đường dẫn với nhiều dấu chấm khi bạn sẵn sàng chỉ định các mẫu.
Nguồn
2011-12-22 05:53:01
Vâng .. không quan trọng nếu một con mèo có màu đen hoặc trắng, miễn là nó bắt chuột. Cám ơn vì cái này! – Bruce
Làm thế nào về ''? Điều này có hiệu quả không? Nếu nó hoạt động giống như một regex thì có lẽ điều này cũng có thể hoạt động: ''? – Sourabh
ngay cả khi nó hoạt động, nó không được tài liệu (-> không được hỗ trợ), do đó chúng tôi đang mắc kẹt với giải pháp của Jason ... (kudos!) – Rick77