gpt4 book ai didi

python - SQLAlchemy 正则表达式与 MySQL 数据库使用\b

转载 作者:行者123 更新时间:2023-11-29 11:55:34 37 4
gpt4 key购买 nike

我想使用 SQLAlchemy 进行正则表达式搜索,如下所示:

db.session.query(Users).filter(User.name.op('regexp')(r'\bJohn\b')).all()

尽管我的 MySQL 数据库中有名为“John”的用户,但我没有返回任何结果。

如果我在正则表达式查询中从 John 的任一侧删除 \b,那么我会得到诸如 John Smith 或只是约翰。然而,两边都没有 \b 的问题意味着名字中带有 Johnson 的人也会出现。

为什么使用\b不返回结果?谢谢。

最佳答案

这似乎是 MySQL 使用正则表达式的方式的问题。而不是使用 \b对于字边界,[[:<:]][[:>:]]应该像这样使用:

db.session.query(Users).filter(User.name.op('regexp')(r'[[:<:]]John[[:>:]]')).all()

关于python - SQLAlchemy 正则表达式与 MySQL 数据库使用\b,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33242945/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com