正規表現トライ
public class RegexTrie
extends Object
java.lang.Object |
↳ | com.android.tradefed.util.RegexTrie<V> |
RegexTrie は、それぞれが保存されたキーのセグメントは正規表現ERROR(/Pattern)
です。したがって、完全な保存されたキーはList<Pattern>
です。 List<String>
ではなく標準的な試行のように。 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 [[], []]
まとめ
パブリック コンストラクター
正規表現トライ
public RegexTrie ()
公開メソッド
置く
public V put (V value,
Pattern... patterns)
トライにエントリを追加します。
パラメーター |
---|
value | V : 設定する値 |
patterns | Pattern : 関連するvalue を取得するために順次一致する必要があるERROR(/Pattern) のシーケンス |
取得する
public V retrieve (String... strings)
指定されたERROR(/String)
のシーケンスを、トライに格納されているERROR(/Pattern)
のシーケンスに一致させることにより、トライから値を取得します。
戻り値 |
---|
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 ()