正規表現

public class RegexTrie
extends Object

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


RegexTrie は、キーの各保存済みセグメントが正規表現 ERROR(/Pattern) であるトライです。したがって、保存された完全なキーは、標準のトライのような List&lt;String&gt; ではなく List&lt;Pattern&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)

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

V retrieve( captures, String... strings)

指定された 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)

指定された String のシーケンスを、トライに保存されている ERROR(/Pattern) のシーケンスと照合して、トライから値を取得します。

パラメータ
strings String: 照合する String のシーケンス

戻り値
V 関連する値。値が見つからない場合は null

取得

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

指定された String のシーケンスをトライに格納されている ERROR(/Pattern) のシーケンスと照合して、トライから値を取得します。このバージョンのメソッドは、一致した ERROR(/Pattern) ごとにキャプチャ グループの ERROR(/List) も返します。

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

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

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

strings String: 一致する String のシーケンス

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

toString

public String toString ()

戻り値
String