【问题标题】:Django __iregex crashing for regular expression ^(\\. \\.)$Django __iregex 因正则表达式崩溃 ^(\\. \\.)$
【发布时间】:2021-03-31 19:56:26
【问题描述】:

当我尝试使用正则表达式 '^(\\. \\.)$' 进行 __iregex 调用时,我得到:

DataError: invalid regular expression: parentheses () not balanced

我正在使用 PSQL 后端,所以 django 文档声明等效的 SQL 命令应该是

SELECT ... WHERE title ~* '^(\\. \\.)$';

当我通过 PSQL 命令行手动运行此查询时,它工作正常。 Django 是否有一些我不知道的错误导致它崩溃?

编辑:此外,此正则表达式的变体也会失败,例如 '^(S\\. \\.)$' '^(\\. S\\.)$' '^(\\. \\.S)$'

【问题讨论】:

    标签: sql django regex database psql


    【解决方案1】:

    解决方案是在将正则表达式发送到__iregex 之前,将所有" " 字符替换为\s

    【讨论】:

      猜你喜欢
      • 2012-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多