Как я могу поддерживать символы подстановки в определяемых пользователем строках поиска в Python? - PullRequest
8 голосов
/ 26 октября 2008

Существует ли простой способ поддержки символов подстановки ("*") при поиске строк - без использования RegEx?

Пользователи должны вводить поисковые термины с использованием подстановочных знаков, но не должны иметь дело со сложностью RegEx:

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

(становится сложнее, когда есть несколько поисковых запросов, например, "foo bar baz")

Это кажется распространенной проблемой, поэтому мне интересно, есть ли готовое решение для этого.

Любая помощь будет принята с благодарностью!

1 Ответ

14 голосов
/ 26 октября 2008

Вы можете попробовать модуль fnmatch, он имеет похожий на оболочку подстановочный синтаксис.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...