Wyrażenie regularne

public class RegexTrie
extends Object

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


RegexTrie to trie, w której każdy zapisany segment klucza jest wyrażeniem regularnym. ERROR(/Pattern) Dlatego pełnym przechowywanym kluczem jest List&lt;Pattern&gt;, niż List&lt;String&gt; jak w standardowym trie. Pamiętaj, że parametr Metoda retrieve(String) będzie dopasowywana punktowo do metod Pattern, zamiast sprawdzania równości punktowej jak w standardowej trie. Z tego powodu będzie gorzej działać w dużych zbiorach danych.

Jako symbolu wieloznacznego można też użyć wpisu null w sekwencji Pattern. Jeśli napotkany błąd null spowoduje, że wszystkie kolejne wpisy w sekwencji będą ignorowane. Gdy kod pobierania napotka null Pattern, najpierw sprawdzi, czy bardziej konkretny wpis pasuje do sekwencji. W przeciwnym razie będzie ona kontynuowana, nawet jeśli później nie uda się go dopasować.

Jeśli nie pasuje bardziej konkretny wpis, dopasowanie z symbolem wieloznacznym spowoduje dodanie wszystkich pozostałych elementów String na listę przechwytywania (jeśli ta opcja jest włączona) i zwraca wartość powiązaną z symbolem wieloznacznym.

Krótki przykład działania symbolu wieloznacznego:

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

Podsumowanie

Konstruktory publiczne

RegexTrie()

Metody publiczne

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

Dodaj wpis do grupy.

V retrieve(String... strings)

Pobierz wartość z trie, dopasowując podaną sekwencję String do sekwencji ERROR(/Pattern)s zapisanych w trie.

V retrieve( captures, String... strings)

Pobierz wartość z trie, dopasowując podaną sekwencję String do sekwencji ERROR(/Pattern)s zapisanych w trie.

String toString()

Konstruktory publiczne

Wyrażenie regularne

public RegexTrie ()

Metody publiczne

wyczyść

public void clear ()

Połącz

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

Dodaj wpis do grupy.

Parametry
value V: wartość do ustawienia

patterns Pattern: sekwencja zmiennych ERROR(/Pattern), które muszą zostać dopasowane sekwencyjnie do pobierz powiązane value

Zwroty
V

odzyskaj

public V retrieve (String... strings)

Pobierz wartość z trie, dopasowując podaną sekwencję String do sekwencji ERROR(/Pattern)s zapisanych w trie.

Parametry
strings String: sekwencja Strings do dopasowania.

Zwroty
V Powiązana wartość lub null, jeśli nie znaleziono wartości.

odzyskaj

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

Pobierz wartość z trie, dopasowując podaną sekwencję String do sekwencji ERROR(/Pattern)s zapisanych w trie. Ta wersja metody zwraca też ERROR(/List) grup przechwytywania dla każdego pasującego elementu ERROR(/Pattern).

Każda pozycja na zewnętrznej liście odpowiada jednemu poziomowi Pattern w trie. Dla każdego poziomu przechowywana jest lista grup przechwytywania. Jeśli nie było żadnych zapisów dla danego poziomu, zostanie zapisana pusta lista.

Pamiętaj, że wartość captures zostanie ERROR(/List#clear())edytowana przed rozpoczęciem pobierania. Ponadto jeśli pobranie nie powiedzie się po częściowej sekwencji dopasowań, captures nadal odzwierciedlają grupy przechwytywania z dopasowania częściowego.

Parametry
captures : pole List<List<String>>, za pomocą którego będą zwracane grupy przechwytywania.

strings String: sekwencja Strings do dopasowania.

Zwroty
V Powiązana wartość lub null, jeśli nie znaleziono wartości.

Ciąg

public String toString ()

Zwroty
String