RegexTrie

public class RegexTrie
extends Object

java.lang.Объект
com.android.tradefed.util.RegexTrie<V>


RegexTrie — это дерево, в котором каждый хранится сегмент ключа представляет собой регулярное выражение ERROR(/Pattern) . Таким образом, полный хранится key представляет собой List&lt;Pattern&gt; а не List&lt;String&gt; как в стандартной попытке. Обратите внимание, что метод retrieve(String) будет точечно сопоставляться с Pattern s, а не проверяться на поточечное равенство, как в стандартном дереве. Из-за этого он может плохо работать с большими наборами данных.

Можно также использовать null запись в последовательности Pattern в качестве подстановочного знака. Если встречается null , все последующие записи в последовательности будут проигнорированы. Когда код поиска встречает null Pattern , он сначала будет ждать, чтобы увидеть, соответствует ли более конкретная запись последовательности. Если это так, то эта более конкретная запись будет продолжена, даже если впоследствии она не совпадет.

Если более конкретная запись не соответствует, совпадение с подстановочным знаком добавит все оставшиеся String в список захватов (если включено) и вернет значение, связанное с подстановочным знаком.

Краткий пример функциональности подстановочных знаков:

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

Краткое содержание

Публичные конструкторы

RegexTrie ()

Публичные методы

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

Добавьте запись в файл trie.

V retrieve (String... strings)

Извлеките значение из дерева, сопоставив предоставленную последовательность ERROR(/String) с последовательностью ERROR(/Pattern) , хранящейся в дереве.

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

Извлеките значение из дерева, сопоставив предоставленную последовательность ERROR(/String) с последовательностью ERROR(/Pattern) , хранящейся в дереве.

String toString ()

Публичные конструкторы

RegexTrie

public RegexTrie ()

Публичные методы

прозрачный

public void clear ()

помещать

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

Добавьте запись в файл trie.

Параметры
value V : Значение для установки

patterns Pattern : последовательность ERROR(/Pattern) , которая должна быть последовательно сопоставлена ​​для получения связанного value .

Возвращает
V

забрать

public V retrieve (String... strings)

Извлеките значение из дерева, сопоставив предоставленную последовательность ERROR(/String) с последовательностью ERROR(/Pattern) , хранящейся в дереве.

Параметры
strings String : последовательность ERROR(/String) для соответствия

Возвращает
V Связанное значение или null , если значение не найдено

забрать

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

Извлеките значение из дерева, сопоставив предоставленную последовательность ERROR(/String) с последовательностью ERROR(/Pattern) , хранящейся в дереве. Эта версия метода также возвращает ERROR(/List) групп захвата для каждой ERROR(/Pattern) , которая совпала.

Каждая запись во внешнем списке соответствует одному уровню Pattern в дереве. Для каждого уровня будет храниться список групп захвата. Если для определенного уровня не было захватов, будет сохранен пустой список.

Обратите внимание, что captures будут ERROR(/List#clear()) до того, как начнется извлечение. Кроме того, если получение не удается после частичной последовательности совпадений, captures по-прежнему будут отражать группы захвата из частичного совпадения.

Параметры
captures : List<List<String>> через который будут возвращены группы захвата.

strings String : последовательность ERROR(/String) для соответствия

Возвращает
V Связанное значение или null , если значение не найдено

нанизывать

public String toString ()

Возвращает
String