【发布时间】:2016-04-26 13:48:24
【问题描述】:
我正在为一个项目测试 MongoAlchemy,我必须按名称搜索用户。
我正在尝试制作正则表达式,但查询结果始终为空。
我尝试了两种方法:
import re
users = User.query.filter({"name":re.compile("/a/", re.IGNORECASE)}).all()
还有:
users = User.query.filter(User.name.regex('/a/', ignore_case=True)).all()
即使我使用像 /.*/ 这样非常通用的正则表达式,结果也始终为空。
谢谢。
【问题讨论】:
-
也许是因为您应该使用
a而不是/a/?您正在使用 Python 模式,而正则表达式分隔符绝不是 Python 正则表达式的一部分。 -
是的。去掉那些在其他情况下(Perl、sed 或其他)可能意味着“搜索”的斜线。在这里,您只需提供正则表达式本身。用
filter调用它表示需要搜索。
标签: python regex mongodb mongoalchemy