normal ifade
public class RegexTrie
extends Object
java.lang.Object |
↳ | com.android.tradefed.util.RegexTrie<V> |
RegexTrie, her birinin bulunduğu bir trie'dir. saklanmış anahtarın segmenti bir normal ifadedir ERROR(/Pattern)
. Böylece, tam saklanmış tuşu bir List<Pattern>
List<String>
standart bir trie'de olduğu gibi. retrieve(String)
yönteminin, standart bir trie'de olduğu gibi noktasal eşitlik için kontrol edilmek yerine, Pattern
s ile noktasal olarak eşleştirileceğini unutmayın. Bu nedenle, büyük veri kümeleri için düşük performans gösterebilir.
Bir joker karakter olarak hizmet etmek için
Pattern
dizisinde
null
bir giriş de kullanılabilir. Bir
null
karşılaşılırsa, dizideki sonraki tüm girişler dikkate alınmaz. Alma kodu
null
bir
Pattern
karşılaştığında, önce daha spesifik bir girişin diziyle eşleşip eşleşmediğini görmek için bekler. Biri yaparsa, daha sonra eşleşemese bile daha spesifik giriş devam edecektir.
Daha spesifik bir giriş eşleşmezse, joker karakter eşleşmesi, kalan tüm
String
leri yakalama listesine ekler (etkinleştirilmişse) ve joker karakterle ilişkili değeri döndürür.
Joker karakter işlevine ilişkin 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
kamu inşaatçılar
normal ifade
public RegexTrie ()
Genel yöntemler
temizlemek
public void clear ()
koymak
public V put (V value,
Pattern... patterns)
Trie'ye bir giriş ekleyin.
parametreler |
---|
value | V : Ayarlanacak değer |
patterns | Pattern : İlişkili value almak için sırayla eşleşmesi gereken ERROR(/Pattern) s dizisi |
geri almak
public V retrieve (String... strings)
Sağlanan ERROR(/String)
s dizisini trie'de depolanan ERROR(/Pattern)
s dizisiyle eşleştirerek, trie'den bir değer getirin.
İadeler |
---|
V | İlişkili değer veya hiçbir değer bulunamazsa null |
geri almak
public V retrieve ( captures,
String... strings)
Sağlanan ERROR(/String)
s dizisini trie'de depolanan ERROR(/Pattern)
s dizisiyle eşleştirerek, trie'den bir değer getirin. Yöntemin bu sürümü, eşleşen her ERROR(/Pattern)
için yakalama gruplarının bir ERROR(/List)
ini de döndürür.
Dış Listedeki her giriş, trie'deki bir
Pattern
seviyesine karşılık gelir. Her seviye için yakalama gruplarının listesi saklanacaktır. Belirli bir seviye için yakalama yoksa, boş bir liste saklanacaktır.
captures
, alma başlamadan önce
ERROR(/List#clear())
düzenleneceğini unutmayın. Ayrıca, kısmi eşleşme dizisinden sonra alma işlemi başarısız olursa,
captures
kısmi eşleşmedeki yakalama gruplarını yansıtmaya devam eder.
parametreler |
---|
captures | : Yakalama gruplarının döndürüleceği bir List<List<String>> . |
strings | String : Eşleşecek bir ERROR(/String) s dizisi |
İadeler |
---|
V | İlişkili değer veya hiçbir değer bulunamazsa null |
toString
public String toString ()