我试图编写一个函数来返回在较长字符串中包含通配符(每个通配符只包含一个字符)的子字符串的所有匹配项。
例如,假设我有主题字符串:
aabcddcabaabedcbabaa
而我的查询字符串是b?d??ab
。
预期产出将是:
['bcddcab', 'bedcbab']
通过查看其他堆栈溢出帖子,我尝试了以下方法:
import fnmatch
subject = "aabcddcabaabedcbabaa"
query = "b?d??ab"
res = fnmatch.filter(subject, query)
但这将返回一个空列表。我做错了什么?我是否正确地使用了fnmatch
的filter
函数?先谢谢你
filter
的第二个参数,而不是第一个参数filter
通过保留与查询匹配的字符串来筛选字符串列表。filter
不返回字符串的子字符串列表。如果要使用filter
筛选子字符串,首先需要构建子字符串列表:输出:
['bcddcab', 'bedcbab']
相关问题 更多 >
编程相关推荐