規則運算式
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 [[], []]
摘要
公用建構函式 | |
---|---|
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)
。
外部清單中的每個項目都對應至擷取中的一個 Pattern
層級。
系統會儲存各個層級的擷取群組清單。如果沒有任何拍攝記錄
系統就會儲存空白清單。
請注意,在擷取開始之前,captures
為 ERROR(/List#clear())
。
此外,如果擷取失敗的一系列比對序列後,captures
會
仍會反映部分相符結果的擷取群組。
參數 | |
---|---|
captures |
:將傳回擷取群組的 List<List<String>> 。 |
strings |
String :要比對的 String 序列 |
傳回 | |
---|---|
V |
相關聯的值,如果找不到任何值,則傳回 null |
toString
public String toString ()
傳回 | |
---|---|
String |