如何在Python中支持用户定义搜索字符串的通配符?

8 投票
1 回答
5479 浏览
提问于 2025-04-11 09:31

有没有简单的方法可以在搜索字符串时支持通配符(“*”),而不使用正则表达式?

用户应该能够使用通配符输入搜索词,但不需要处理正则表达式的复杂性:

"foo*"   =>  str.startswith("foo")
"*foo"   =>  str.endswith("foo")
"*foo*"  =>  "foo" in str

不过,当有多个搜索词时,这就变得更复杂了,比如“foobarbaz”。

这似乎是一个常见的问题,所以我想知道是否有现成的解决方案。

任何帮助都将不胜感激!

1 个回答

14

你可以试试fnmatch这个模块,它使用了一种类似于命令行的通配符语法。

撰写回答