正規表現
public
class
RegexTrie
extends Object
java.lang.Object | |
↳ | com.android.tradefed.util.RegexTrie<V> |
RegexTrie は、キーの各ERROR(/Pattern)
であるトライです。したがって、List<String>
ではなく List<Pattern>
です。なお、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)
指定された |
V
|
retrieve(
指定された |
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
に対応しています。各レベルで、キャプチャ グループのリストが保存されます。特定のレベルでキャプチャがない場合、空のリストが保存されます。
取得が開始される前に captures
は ERROR(/List#clear())
されます。また、部分一致のシーケンスの後に取得が失敗した場合でも、captures
には部分一致のキャプチャ グループが反映されます。
パラメータ | |
---|---|
captures |
: キャプチャ グループが返される List<List<String>> 。 |
strings |
String : 一致する String のシーケンス |
戻り値 | |
---|---|
V |
関連付けられた値。値が見つからなかった場合は null |
toString
public String toString ()
戻り値 | |
---|---|
String |