+ if isinstance(value, dict):
+ if "filter" in value and "regex" in value:
+ pattern = re.compile(value["regex"])
+ items = get_items(p, value["group"])
+ return [i for i in items if pattern.match(i)]
+
+ if "group" in value and "regex" in value:
+ pattern = re.compile(value["regex"])
+ items = get_items(p, value["group"])
+ groups = {}
+ for i in items:
+ p = pattern.match(i)
+ if p:
+ add_to_group(groups, p)
+ return [groups[k] for k in groups]
+
+ if "extract" in value and "regex" in value:
+ pattern = re.compile(value["regex"])
+ items = get_items(p, value["group"])
+ return [p.groups() for i in items if p = pattern.match(i)]
+