Wyrażenie regularne

public class RegexTrie
extends Object

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


RegexTrie to próba, w której każdy przechowywane segment klucza to wyrażenie regularne ERROR(/Pattern) . Tym samym pełnia przechowywane kluczem jest List&lt;Pattern&gt; zamiast List&lt;String&gt; jak w standardowej próbie. Zauważ, że metoda retrieve(String) będzie dopasowywana punktowo do Pattern s, a nie sprawdzana pod kątem równości punktowej, jak w przypadku standardowej próby. Z tego powodu może działać słabo w przypadku dużych zestawów danych.

Można również użyć null wpisu w sekwencji Pattern , aby służył jako symbol wieloznaczny. W przypadku napotkania null wszystkie kolejne wpisy w sekwencji będą ignorowane. Gdy kod pobierania napotka wartość null Pattern , najpierw zaczeka, aby sprawdzić, czy bardziej szczegółowy wpis pasuje do sekwencji. Jeśli tak się stanie, ten bardziej szczegółowy wpis będzie kontynuowany, nawet jeśli później nie będzie pasować.

Jeśli żaden bardziej szczegółowy wpis nie pasuje, dopasowanie symboli wieloznacznych doda wszystkie pozostałe String do listy przechwyceń (jeśli jest włączona) i zwróci wartość powiązaną z symbolem wieloznacznym.

Krótka próbka funkcjonalności symboli wieloznacznych:

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

Streszczenie

Konstruktory publiczne

RegexTrie ()

Metody publiczne

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

Dodaj wpis do trie.

V retrieve (String... strings)

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

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

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

String toString ()

Konstruktory publiczne

Wyrażenie regularne

public RegexTrie ()

Metody publiczne

jasne

public void clear ()

umieścić

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

Dodaj wpis do trie.

Parametry
value V : Wartość do ustawienia

patterns Pattern : Sekwencja ERROR(/Pattern) s, które muszą być sekwencyjnie dopasowane, aby pobrać powiązaną value

Zwroty
V

odzyskać

public V retrieve (String... strings)

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

Parametry
strings String : Sekwencja String s do dopasowania

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

odzyskać

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

Pobierz wartość z trie, dopasowując podaną sekwencję String s do sekwencji ERROR(/Pattern) s przechowywanych w trie. Ta wersja metody zwraca również ERROR(/List) grup przechwytywania dla każdego dopasowanego ERROR(/Pattern) .

Każdy wpis na Liście zewnętrznej odpowiada jednemu poziomowi Pattern w trie. Dla każdego poziomu zostanie zapisana lista grup przechwytywania. Jeśli nie było przechwyceń dla określonego poziomu, zostanie zapisana pusta lista.

Zauważ, że captures będą ERROR(/List#clear()) przed rozpoczęciem pobierania. Ponadto, jeśli pobieranie nie powiedzie się po częściowej sekwencji dopasowań, captures nadal będzie odzwierciedlać grupy przechwytywania z częściowego dopasowania.

Parametry
captures : List<List<String>> przez którą zostaną zwrócone grupy przechwytywania.

strings String : Sekwencja String s do dopasowania

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

do Ciągu

public String toString ()

Zwroty
String