正規表現トライ

public class RegexTrie
extends Object

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


RegexTrie は、それぞれが保存されたキーのセグメントは正規表現ERROR(/Pattern)です。したがって、完全な保存されたキーはList&lt;Pattern&gt;です。 List&lt;String&gt;ではなく標準的な試行のように。 retrieve(String)メソッドは、標準のトライのように点ごとの等価性をチェックするのではなく、 Patternに対して点ごとに一致することに注意してください。このため、大規模なデータセットではパフォーマンスが低下する可能性があります。

Patternシーケンスでnullエントリを使用して、ワイルドカードとして使用することもできます。 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)

トライにエントリを追加します。

V retrieve (String... strings)

指定されたERROR(/String)のシーケンスを、トライに格納されているERROR(/Pattern)のシーケンスに一致させることにより、トライから値を取得します。

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

指定されたERROR(/String)のシーケンスを、トライに格納されているERROR(/Pattern)のシーケンスに一致させることにより、トライから値を取得します。

String toString ()

パブリック コンストラクター

正規表現トライ

public RegexTrie ()

公開メソッド

クリア

public void clear ()

置く

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

トライにエントリを追加します。

パラメーター
value V : 設定する値

patterns Pattern : 関連するvalueを取得するために順次一致する必要があるERROR(/Pattern)のシーケンス

戻り値
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(/Pattern)のキャプチャ グループのERROR(/List)も返します。

外側のリストの各エントリは、トライのPatternの 1 つのレベルに対応します。レベルごとに、キャプチャ グループのリストが保存されます。特定のレベルのキャプチャがなかった場合、空のリストが保存されます。

取得が開始される前に、 captures ERROR(/List#clear())されることに注意してください。また、部分一致のシーケンスの後で取得が失敗した場合でも、部分一致のキャプチャ グループがcapturesに反映されます。

パラメーター
captures : キャプチャ グループが返されるList<List<String>>

strings String : 一致するERROR(/String)のシーケンス

戻り値
V関連付けられた値、または値が見つからない場合はnull

toString

public String toString ()

戻り値
String