RegexTrie

public class RegexTrie
extends Object

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


RegexTrie, anahtarın her depolanmış segmentinin bir normal ifade olduğu bir trie'dir Pattern. Bu nedenle, tam depolanmış anahtar, standart bir trie'de olduğu gibi List&lt;String&gt; değil, List&lt;Pattern&gt; olur. retrieve(String...) yönteminin, standart bir trie'de olduğu gibi noktasal eşitlik açısından kontrol edilmek yerine Pattern'lere karşı noktasal olarak eşleştirileceğini unutmayın. Bu nedenle, büyük veri kümelerinde performansı düşük olabilir.

Joker karakter olarak kullanılmak üzere Pattern dizisinde null girişi de kullanılabilir. null ile karşılaşılırsa dizideki sonraki tüm girişler yoksayılır. Alma kodu bir null Pattern ile karşılaştığında önce daha spesifik bir girişin sırayla eşleşip eşleşmediğini görmek için bekler. Bir giriş eşleşirse daha sonra eşleşmese bile bu daha özel giriş işleme alınır.

Daha spesifik bir giriş eşleşmezse joker karakter eşleşmesi, kalan tüm Strings yakalama listesine ekler (etkinse) ve joker karakterle ilişkili değeri döndürür.

Yıldız işareti işlevselliğiyle ilgili kısa bir örnek:

 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 [[], []]
 

Özet

Herkese açık oluşturucular

RegexTrie()

Herkese açık yöntemler

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

Bu yardımcı yöntem, normal ifadelerin listesini String olarak alır ve sonraki Pattern'leri trie'ye eklemeden önce bunları anında derler.

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

Trie'ye bir giriş ekleyin.

V retrieve(String... strings)

Sağlanan String dizisini, trie'de depolanan bir Pattern dizisiyle eşleştirerek trie'den bir değer getirin.

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

Sağlanan String dizisini, trie'de depolanan bir Pattern dizisiyle eşleştirerek trie'den bir değer getirin.

String toString()

Herkese açık oluşturucular

RegexTrie

public RegexTrie ()

Herkese açık yöntemler

sil

public void clear ()

put

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

Bu yardımcı yöntem, normal ifadelerin listesini String olarak alır ve sonraki Pattern'leri trie'ye eklemeden önce bunları anında derler.

Parametreler
value V: Ayarlanacak değer

regexen String: İlişkili value'yi almak için sırayla eşleştirilmesi gereken normal ifadeler dizisi (String olarak). Her dize, put(Object,Pattern...) çağrılmadan önce Pattern olarak derlenir.

İadeler
V

put

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

Trie'ye bir giriş ekleyin.

Parametreler
value V: Ayarlanacak değer

patterns Pattern: İlişkili value değerini almak için sırayla eşleştirilmesi gereken Pattern dizisi

İadeler
V

al

public V retrieve (String... strings)

Sağlanan String dizisini, trie'de depolanan bir Pattern dizisiyle eşleştirerek trie'den bir değer getirin.

Parametreler
strings String: Eşleştirilecek String dizisi

İadeler
V İlişkili değer veya değer bulunamadıysa null

al

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

Sağlanan String dizisini, trie'de depolanan bir Pattern dizisiyle eşleştirerek trie'den bir değer getirin. Bu yöntem sürümü, eşleşen her Pattern için bir List yakalama grubu da döndürür.

Dıştaki listedeki her giriş, Trie'deki bir Pattern düzeyine karşılık gelir. Her düzey için yakalama gruplarının listesi saklanır. Belirli bir düzey için yakalama yoksa boş bir liste saklanır.

Alma işlemi başlamadan önce captures öğesinin List.clear() edileceğini unutmayın. Ayrıca, alma işlemi kısmi bir eşleşme dizisinden sonra başarısız olursa captures, kısmi eşleşmedeki yakalama gruplarını yansıtmaya devam eder.

Parametreler
captures List: Yakalama gruplarının döndürüleceği List<List<String>>.

strings String: Eşleştirilecek String dizisi

İadeler
V İlişkili değer veya değer bulunamadıysa null

toString

public String toString ()

Döndürülenler
String