RegexTrie
public
class
RegexTrie
extends Object
| java.lang.Object | |
| ↳ | com.android.tradefed.util.RegexTrie<V> |
RegexTrie, anahtarın her Pattern. Bu nedenle, tam List<String> değil, List<Pattern> 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 |
V
|
put(V value, Pattern... patterns)
Trie'ye bir giriş ekleyin. |
V
|
retrieve(String... strings)
Sağlanan |
V
|
retrieve(List<List<String>> captures, String... strings)
Sağlanan |
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 |
|