def _re_flatten(p):
    if '(' not in p:
        return p
    return re.sub(r'(\\*)(\(\?P<[^>]+>|\((?!\?))', lambda m: m.group(0) if
                  len(m.group(1)) % 2 else m.group(1) + '(?:', p)
Return a list of the VMs that are on the provider, with select fields
dataset/ETHPy150Open Arelle/Arelle/arelle/webserver/bottle.py/_re_flatten--crossover with--dataset/ETHPy150Open saltstack/salt/salt/cloud/clouds/parallels.py/list_nodes_select