Regex
public
class
RegexTrie
extends Object
java.lang.Object | |
😎 | com.android.tradefed.util.RegexTrie<V> |
„RegexTrie“ ist ein Trie, bei dem jedes ERROR(/Pattern)
Daher ist der vollständige List<Pattern>
-Wert und nicht
als eine List<String>
, wie in einem Standard-Test. Das Feld
Die retrieve(String)
-Methode wird punktweise mit den Pattern
-Werten abgeglichen,
anstatt wie bei einem Standardtrie auf punktweise Gleichheit zu prüfen. Daher kann es sein,
bei großen Datasets schlecht.
Sie können auch einen null
-Eintrag in der Pattern
-Sequenz als Platzhalter verwenden. Wenn
eine null
vorliegt, werden alle nachfolgenden Einträge in der Sequenz ignoriert.
Wenn der Abrufcode auf ein null
Pattern
stößt, wartet er zuerst darauf, ob ein
spezifischeren Eintrag mit der Sequenz übereinstimmt. Ist dies der Fall, wird der spezifischere Eintrag fortgesetzt.
auch wenn sie später nicht mehr übereinstimmen.
Wenn es keinen spezifischeren Eintrag gibt, werden bei der Platzhalterübereinstimmung alle verbleibenden String
s addiert.
zur Liste der Erfassungen (falls aktiviert) hinzu und gibt den mit dem Platzhalter verknüpften Wert zurück.
Ein kurzes Beispiel für die Platzhalterfunktion:
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 [[], []]
Zusammenfassung
Öffentliche Konstruktoren | |
---|---|
RegexTrie()
|
Öffentliche Methoden | |
---|---|
void
|
clear()
|
V
|
put(V value, Pattern... patterns)
Fügen Sie dem Test einen Eintrag hinzu. |
V
|
retrieve(String... strings)
Ruft einen Wert aus dem Trie ab, indem die angegebene Sequenz von |
V
|
retrieve(
Ruft einen Wert aus dem Trie ab, indem die angegebene Sequenz von |
String
|
toString()
|
Öffentliche Konstruktoren
Regex
public RegexTrie ()
Öffentliche Methoden
Löschen
public void clear ()
stellen
public V put (V value, Pattern... patterns)
Fügen Sie dem Test einen Eintrag hinzu.
Parameter | |
---|---|
value |
V : festzulegender Wert |
patterns |
Pattern : Die Sequenz von ERROR(/Pattern) -Werten, die nacheinander abgeglichen werden müssen
Verknüpfte value abrufen |
Returns | |
---|---|
V |
abrufen
public V retrieve (String... strings)
Ruft einen Wert aus dem Trie ab, indem die angegebene Sequenz von String
s mit einem
Folge von ERROR(/Pattern)
-Werten, die im Trie gespeichert sind.
Parameter | |
---|---|
strings |
String : Eine Sequenz von String -Werten, die abgeglichen werden sollen |
Returns | |
---|---|
V |
Den verknüpften Wert oder null , wenn kein Wert gefunden wurde |
abrufen
public V retrieve (captures, String... strings)
Ruft einen Wert aus dem Trie ab, indem die angegebene Sequenz von String
s mit einem
Folge von ERROR(/Pattern)
-Werten, die im Trie gespeichert sind. Diese Version der Methode gibt auch
ERROR(/List)
von Erfassungsgruppen für jeden übereinstimmenden ERROR(/Pattern)
.
Jeder Eintrag in der äußeren Liste entspricht einer Pattern
-Ebene im Trie.
Für jede Ebene wird die Liste der Erfassungsgruppen gespeichert. Wenn es keine Aufnahmen gab
wird eine leere Liste gespeichert.
Beachten Sie, dass captures
vor Beginn des Abrufs ERROR(/List#clear())
ed wird.
Wenn der Abruf nach einer Teilsequenz von Übereinstimmungen fehlschlägt, gibt captures
die Erfassungsgruppen aus der teilweisen Übereinstimmung widerspiegeln.
Parameter | |
---|---|
captures |
: Ein List<List<String>> -Wert, über den Erfassungsgruppen zurückgegeben werden. |
strings |
String : Eine Sequenz von String -Werten, die abgeglichen werden sollen |
Returns | |
---|---|
V |
Den verknüpften Wert oder null , wenn kein Wert gefunden wurde |
toString
public String toString ()
Returns | |
---|---|
String |