在python中使用正则表达式搜索字符串列表

时间:2013-11-10 00:38:22

标签: python regex

我有一个字符串列表。我想使用正则表达式选择与特定模式匹配的字符串。 Python正则表达式不采用列表,我不想使用循环。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

尝试:

def searcher(s):
    if COMPILED_REGEXP_OBJECT.search(s):
        return s

matching_strings = filter(searcher, YOUR_LIST_OF_STRING)

searcher()返回匹配的字符串,否则返回Nonefilter()仅返回“true”对象,因此将跳过None。它也会跳过空字符串,但怀疑这是一个问题。

或者更好,正如@JonClements所指出的那样:

matching_strings = filter(COMPILED_REGEXP_OBJECT.search, YOUR_LIST_OF_STRING)

不仅更短,它只查找.search方法一次(而不是每个字符串一次)。