字符串中的Python通配符搜索

2024-03-29 09:10:52 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个清单

list = ['this','is','just','a','test']

如何让用户进行通配符搜索?

搜索词:“thu's”

会返回“this”


Tags: 用户testisthislistjust通配符thu
3条回答

使用^{}

import fnmatch
lst = ['this','is','just','a','test']
filtered = fnmatch.filter(lst, 'th?s')

如果要允许_作为通配符,只需replace所有带'?'(一个字符)或*(多个字符)的下划线。

如果希望用户使用更强大的筛选选项,请考虑允许他们使用regular expressions

您可以尝试fnmatch模块,它有一个类似shell的通配符语法

或者可以使用regular expressions

导入re

正则表达式可能是解决此问题的最简单方法:

import re
regex = re.compile('th.s')
l = ['this', 'is', 'just', 'a', 'test']
matches = [string for string in l if re.match(regex, string)]

相关问题 更多 >