RegexTrie
public class RegexTrie
extends Object
java.lang.Object | |
↳ | com.android.tradefed.util.RegexTrie <V> |
RegexTrie هو ثلاثي حيث كلERROR(/Pattern)
. وهكذا ، فإن كاملList<Pattern>
بدلاً من List<String>
كما هو الحال في trie القياسي. لاحظ أن طريقة retrieve(String)
ستتم مطابقتها بشكل نقطي مع Pattern
s ، بدلاً من التحقق من المساواة النقطية كما هو الحال في trie القياسي. لهذا السبب ، قد يكون أداؤه ضعيفًا لمجموعات البيانات الكبيرة.
يمكن للمرء أيضًا استخدام إدخال null
في تسلسل Pattern
ليكون بمثابة حرف بدل. إذا تم العثور على null
، فسيتم تجاهل جميع الإدخالات اللاحقة في التسلسل. عندما يواجه رمز الاسترداد Pattern
null
، سينتظر أولاً لمعرفة ما إذا كان الإدخال الأكثر تحديدًا يطابق التسلسل. إذا حدث ذلك ، فسيستمر هذا الإدخال الأكثر تحديدًا ، حتى لو فشل لاحقًا في التطابق.
إذا لم يكن هناك إدخال أكثر تحديدًا ، فستضيف مطابقة أحرف البدل جميع 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 () |
المنشأت العامة
RegexTrie
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)
قم بإحضار قيمة من المثلث ، عن طريق مطابقة التسلسل المقدم من ERROR(/String)
s مع سلسلة من ERROR(/Pattern)
s مخزنة في trie.
حدود | |
---|---|
strings | String : تسلسل من ERROR(/String) للمطابقة |
عائدات | |
---|---|
V | القيمة المرتبطة ، أو القيمة null إذا لم يتم العثور على قيمة |
يسترد
public V retrieve (captures, String... strings)
قم بإحضار قيمة من المثلث ، عن طريق مطابقة التسلسل المقدم من ERROR(/String)
s مع سلسلة من ERROR(/Pattern)
s مخزنة في trie. يقوم هذا الإصدار من الأسلوب أيضًا بإرجاع ERROR(/List)
لمجموعات الالتقاط لكل ERROR(/Pattern)
تمت مطابقته.
يتوافق كل إدخال في القائمة الخارجية مع مستوى واحد من Pattern
في المثلث. لكل مستوى ، سيتم تخزين قائمة مجموعات الالتقاط. إذا لم يكن هناك أي التقاط لمستوى معين ، فسيتم تخزين قائمة فارغة.
لاحظ أن captures
ستكون ERROR(/List#clear())
ed قبل بدء الاسترداد. أيضًا ، إذا فشل الاسترداد بعد تسلسل جزئي للمطابقات ، فستظل captures
تعكس مجموعات الالتقاط من التطابق الجزئي.
حدود | |
---|---|
captures | List<List<String>> يتم من خلالها إرجاع مجموعات الالتقاط. |
strings | String : تسلسل من ERROR(/String) للمطابقة |
عائدات | |
---|---|
V | القيمة المرتبطة ، أو القيمة null إذا لم يتم العثور على قيمة |
إلى سلسلة
public String toString ()
عائدات | |
---|---|
String |