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

时间:2008-10-26 20:52:36

标签: python search parsing string wildcard

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

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

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

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

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

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:14)

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