Filter list of machines matching an expression

def instances(exp=".*"):
    "Filter list of machines matching an expression"
    expression = re.compile(exp)
    instances = []
    for node in ec2_instances():
        if node.tags and ip(node):
            try:
                if expression.match(node.tags.get("Name")):
                    instances.append(node)
            except TypeError:
                pass
    return instances