正規表現トライ
public class RegexTrie
extends Object
java.lang.オブジェクト | |
↳ | 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 [[], []]
まとめ
パブリックコンストラクター | |
---|---|
RegexTrie () |
パブリックメソッド | |
---|---|
void | clear () |
V | put (V value, Pattern... patterns) トライにエントリを追加します。 |
V | retrieve (String... strings) 指定された |
V | retrieve ( captures, String... strings) retrieve ( captures, String... strings) 指定された |
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)
も返します。
Pattern
の 1 レベルに対応します。レベルごとに、キャプチャ グループのリストが保存されます。特定のレベルのキャプチャがなかった場合は、空のリストが保存されます。取得が開始される前に、 captures
ERROR(/List#clear())
されることに注意してください。また、部分的な一致シーケンスの後に取得が失敗した場合でも、 captures
は部分的な一致からのキャプチャ グループが反映されます。パラメーター | |
---|---|
captures | List<List<String>> 。 |
strings | String : 照合するString のシーケンス |
戻り値 | |
---|---|
V | 関連付けられた値、または値が見つからなかった場合はnull |
toString
public String toString ()
戻り値 | |
---|---|
String |