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