正規表現
public
class
RegexTrie
extends Object
java.lang.Object | |
↳ | com.android.tradefed.util.RegexTrie<V> |
RegexTrie は、キーに保存されている各セグメントが正規表現であるトライです。ERROR(/Pattern)
。したがって、List<Pattern>
になります。
List<String>
よりもはるかに効率的ですなお、
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)
指定された |
V
|
retrieve(
指定された |
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 |