我有一个字符串列表。我想使用正则表达式选择与特定模式匹配的字符串。Python 正则表达式不带列表,我不想使用循环。
有什么建议吗?
尝试:
def searcher(s):
if COMPILED_REGEXP_OBJECT.search(s):
return s
matching_strings = filter(searcher, YOUR_LIST_OF_STRING)
searcher()
如果匹配则返回字符串,否则返回None
. filter()
仅返回“true”对象,因此将跳过None
s. 它也会跳过空字符串,但怀疑这是一个问题。
或者,更好,正如@JonClements 指出的那样:
matching_strings = filter(COMPILED_REGEXP_OBJECT.search, YOUR_LIST_OF_STRING)
不仅更短,它只查找.search
一次方法(而不是每个字符串一次)。