开发者社区> 问答> 正文

当放入sqlalchemy db时,'re.sub'字符串仍然包含特殊字符。执行命令

在我的flask webapp的搜索路径中,我想在我的PostgreSQL数据库中搜索之前,从用户输入(q)中删除特殊字符:

q = re.sub('[?*()+[]+', '', q)

search_results = db.execute("SELECT name WHERE name SIMILAR TO :q",{"q": q+'%'})

不幸的是,有些东西似乎仍然出错了,我不断从sqlalchemy得到一个DataError。例如,当我输入'?“我得到: 参数表明q的值仍然是'?,但当我试图删除特殊字符与re.sub()在终端,它成功地删除任何特殊字符,我想:

>>> import re
>>> q = '?'
>>> q = re.sub('[?*()+[]+', '', q)
>>> q
''

此外,还可以成功地搜索具有可接受字符的查询。 问题出在哪里,我该如何解决? 问题来源StackOverflow 地址:/questions/59382299/python-re-subed-string-still-contains-special-characters-when-put-into-sqlal

展开
收起
kun坤 2019-12-27 17:14:02 464 0
1 条回答
写回答
取消 提交回答
  • 重新启动烧瓶服务器修复了这个问题,尽管我通常不需要在更改之后这样做。

    2019-12-27 17:14:08
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载