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

8 python string search parsing wildcard

在搜索字符串时是否有一种简单的方法来支持通配符("*") - 不使用RegEx?

用户应该使用通配符输入搜索条件,但不应该处理RegEx的复杂性:

"foo*"   =>  str.startswith("foo")
"*foo"   =>  str.endswith("foo")
"*foo*"  =>  "foo" in str
Run Code Online (Sandbox Code Playgroud)

(当有多个搜索词时,它会变得更复杂,例如"foo bar baz")

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

任何帮助将不胜感激!

Gre*_*ill 14

你可以试试这个fnmatch模块,它有一个像shell一样的通配符语法.