Biểu thức chính quy

public class RegexTrie
extends Object

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


RegexTrie là một bộ ba trong đó mỗi phân đoạn được lưu trữ của khoá là một biểu thức chính quy ERROR(/Pattern). Do đó, khoá được lưu trữ đầy đủ là List&lt;Pattern&gt; thay vì so với List&lt;String&gt; như trong tam giác chuẩn. Lưu ý rằng Phương thức retrieve(String) sẽ được so khớp điểm với Pattern, thay vì kiểm tra đẳng thức điểm như trong bộ ba chuẩn. Do đó, 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ể dùng một mục null trong chuỗi Pattern để làm ký tự đại diện. Nếu nếu gặp null thì tất cả các mục nhập tiếp theo trong trình tự sẽ bị bỏ qua. Khi mã truy xuất gặp null Pattern, trước tiên mã sẽ chờ xem liệu một mục nhập cụ thể hơn khớp với chuỗi. Nếu có, mục nhập cụ thể hơn đó sẽ tiếp tục, ngay cả khi kết quả sau đó không khớp.

Nếu không có mục nhập cụ thể nào khớp, thì kết quả khớp ký tự đại diện sẽ thêm tất cả String còn lại vào danh sách nội dung ghi (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, Pattern... patterns)

Thêm một mục vào bộ ba.

V retrieve(String... strings)

Tìm nạp một giá trị từ bộ ba bằng cách khớp chuỗi String đã cho với một trình tự của ERROR(/Pattern) được lưu trữ trong bộ nhớ.

V retrieve( captures, String... strings)

Tìm nạp một giá trị từ bộ ba bằng cách khớp chuỗi String đã cho với một trình tự của ERROR(/Pattern) được lưu trữ trong bộ nhớ.

String toString()

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

Biểu thức chính quy

public RegexTrie ()

Phương thức công khai

xóa

public void clear ()

đặt

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

Thêm một mục vào bộ ba.

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

patterns Pattern: Trình tự gồm các ERROR(/Pattern) phải được so khớp tuần tự với 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ừ bộ ba bằng cách khớp chuỗi String đã cho với một trình tự của ERROR(/Pattern) được lưu trữ trong bộ nhớ.

Tham số
strings String: Một chuỗi String cần 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ị

truy xuất

public V retrieve ( captures, 
                String... strings)

Tìm nạp một giá trị từ bộ ba bằng cách khớp chuỗi String đã cho với một trình tự của ERROR(/Pattern) được lưu trữ trong bộ nhớ. Phiên bản này của phương thức cũng trả về ERROR(/List) nhóm thu thập cho mỗi ERROR(/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 của Pattern trong bộ nhớ. Đối với mỗi cấp, danh sách nhóm thu thập sẽ được lưu trữ. Nếu không có ảnh chụp màn hình cho một cấp cụ thể, một danh sách trống sẽ được lưu trữ.

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

Tham số
captures : Một List<List<String>> mà qua đó nhóm thu thập sẽ được trả về.

strings String: Một chuỗi String cần 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ị

toString

public String toString ()

Giá trị trả về
String