正規表現

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 に対してポイントワイズ マッチングされます。 点ごとの等価性を標準の trie のようにチェックするのではなく、このため、 大規模なデータセットではパフォーマンスが 低下する可能性があります

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: 順次一致する必要がある ERROR(/Pattern) のシーケンス 関連する value を取得する

戻り値
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 に対応しています。 レベルごとに、キャプチャ グループのリストが保存されます。キャプチャがない場合 空のリストが保存されます。

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

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

strings String: 照合する String のシーケンス

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

toString

public String toString ()

戻り値
String