プロジェクト用のデータベースを作成しました。データベースで値を検索できるようにしたいのですが、単純な == 操作よりも優れています。たとえば、誰かが検索に「コロンビア」と入力した場合、その特定の人物の「所属」キーの値として「コロンビア大学」を含む辞書が必要です。
質問する
2311 次
1 に答える
2
正規表現を使用して検索できます。
>>> db.search(User.name.matches('[aZ]*'))
>>> db.search(User.name.search('b+'))
これらは Python のものに対応しre.match
、re.search
後者は文字列のどこからでも開始できるオカレンスを検索します。
または、次のようなカスタム テスト式を使用できます。
>>> test_contains = lambda value, search: search in value
>>> db.search(User.name.test(test_contains, 'Columbia'))
詳細については、TinyDB docs の関連セクションを参照してください。
于 2015-12-31T13:41:16.187 に答える