RegexTrie

public class RegexTrie
extends Object

java.lang.Object
com.android.tradefed.util.RegexTrie<V>


RegexTrie là một trie trong đó mỗi phân đoạn được lưu trữ của khoá là một biểu thức chính quy Pattern. Do đó, khoá được lưu trữ đầy đủ là List&lt;Pattern&gt; thay vì List&lt;String&gt; như trong một trie tiêu chuẩn. Xin lưu ý rằng phương thức retrieve(String...) sẽ được so khớp từng điểm với Patterns, thay vì được kiểm tra về sự bằng nhau từng điểm như trong một trie tiêu chuẩn. Do đó, phương thức này có thể hoạt động kém hiệu quả đối với các tập dữ liệu lớn.

Bạn cũng có thể sử dụng một mục null trong chuỗi Pattern để đóng vai trò là ký tự đại diện. Nếu gặp phải null, tất cả các mục tiếp theo trong chuỗi sẽ bị bỏ qua. Khi mã truy xuất gặp phải null Pattern, trước tiên, mã này sẽ chờ xem liệu có mục cụ thể hơn nào khớp với chuỗi hay không. Nếu có, mục cụ thể hơn đó sẽ tiếp tục, ngay cả khi sau đó không khớp.

Nếu không có mục cụ thể hơn nào khớp, thì kết quả khớp với ký tự đại diện sẽ thêm tất cả Strings còn lại vào danh sách kết quả khớp (nếu được bật) và trả về giá trị được liên kết với ký tự đại diện.

Một mẫu ngắn về chức năng ký tự đại diện:

 List<List<String>> captures = new LinkedList<List<String>>();
 RegexTrie<Integer> trie = new RegexTrie<Integer>();
 trie.put(2, "a", null);
 trie.put(4, "a", "b");
 trie.retrieve(captures, "a", "c", "e");
 // returns 2.  captures is now [[], ["c"], ["e"]]
 trie.retrieve(captures, "a", "b");
 // returns 4.  captures is now [[], []]
 trie.retrieve(captures, "a", "b", "c");
 // returns null.  captures is now [[], []]
 

Tóm tắt

Hàm khởi tạo công khai

RegexTrie()

Phương thức công khai

void clear()
V put(V value, String... regexen)

Phương thức trợ giúp này lấy một danh sách các biểu thức chính quy làm Strings và biên dịch chúng ngay lập tức trước khi thêm các Patterns tiếp theo vào trie

V put(V value, Pattern... patterns)

Thêm một mục vào trie.

V retrieve(String... strings)

Tìm nạp một giá trị từ trie bằng cách so khớp chuỗi String được cung cấp với a chuỗi Pattern được lưu trữ trong trie.

V retrieve(List<List<String>> captures, String... strings)

Tìm nạp một giá trị từ trie bằng cách so khớp chuỗi String được cung cấp với a chuỗi Pattern được lưu trữ trong trie.

String toString()

Hàm khởi tạo công khai

RegexTrie

public RegexTrie ()

Phương thức công khai

xóa

public void clear ()

put

public V put (V value, 
                String... regexen)

Phương thức trợ giúp này lấy một danh sách các biểu thức chính quy làm Strings và biên dịch chúng ngay lập tức trước khi thêm các Patterns tiếp theo vào trie

Tham số
value V: Giá trị cần đặt

regexen String: Chuỗi các biểu thức chính quy (dưới dạng Strings) phải được so khớp tuần tự để truy xuất value được liên kết. Mỗi String sẽ được biên dịch dưới dạng Pattern trước khi gọi put(Object,Pattern...).

Giá trị trả về
V

put

public V put (V value, 
                Pattern... patterns)

Thêm một mục vào trie.

Tham số
value V: Giá trị cần đặt

patterns Pattern: Chuỗi Pattern phải được so khớp tuần tự để truy xuất value được liên kết

Giá trị trả về
V

truy xuất

public V retrieve (String... strings)

Tìm nạp một giá trị từ trie bằng cách so khớp chuỗi String được cung cấp với a chuỗi Pattern được lưu trữ trong trie.

Tham số
strings String: Chuỗi String cần so khớp

Giá trị trả về
V Giá trị được liên kết hoặc null nếu không tìm thấy giá trị nào

truy xuất

public V retrieve (List<List<String>> captures, 
                String... strings)

Tìm nạp một giá trị từ trie bằng cách so khớp chuỗi String được cung cấp với a chuỗi Pattern được lưu trữ trong trie. Phiên bản này của phương thức cũng trả về một List của các nhóm kết quả khớp cho từng Pattern đã được so khớp.

Mỗi mục trong Danh sách bên ngoài tương ứng với một cấp Pattern trong trie. Đối với mỗi cấp, danh sách các nhóm kết quả khớp sẽ được lưu trữ. Nếu không có kết quả khớp cho một cấp cụ thể, thì một danh sách trống sẽ được lưu trữ.

Xin lưu ý rằng captures sẽ được List.clear() trước khi quá trình truy xuất bắt đầu. Ngoài ra, nếu quá trình truy xuất không thành công sau một chuỗi kết quả khớp một phần, thì captures sẽ vẫn phản ánh các nhóm kết quả khớp từ kết quả khớp một phần.

Tham số
captures List: List<List<String>> mà qua đó các nhóm kết quả khớp sẽ được trả về.

strings String: Chuỗi String cần so khớp

Giá trị trả về
V Giá trị được liên kết hoặc null nếu không tìm thấy giá trị nào

toString

public String toString ()

Giá trị trả về
String