2024-03-29 09:10:52 发布
网友
假设我有一个清单
list = ['this','is','just','a','test']
如何让用户进行通配符搜索?
搜索词:“thu's”
会返回“this”
使用^{}:
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)]
使用^{} :
如果要允许
_
作为通配符,只需replace所有带'?'
(一个字符)或*
(多个字符)的下划线。如果希望用户使用更强大的筛选选项,请考虑允许他们使用regular expressions。
您可以尝试fnmatch模块,它有一个类似shell的通配符语法
或者可以使用regular expressions
导入re
正则表达式可能是解决此问题的最简单方法:
相关问题 更多 >
编程相关推荐