【问题标题】:case insensitive in regex in postgresql querypostgresql查询中的正则表达式不区分大小写
【发布时间】:2016-09-01 14:08:51
【问题描述】:

我想通过另一个表的记录搜索名称列表 我希望我的正则表达式不区分大小写,但我不能让它工作!

SELECT id
  FROM "regexfreeFlickrFullInfo"
  where tags ~ 'tower\s?\*?bridge'  or title ~ 'tower\s?\*?bridge' or descriptio ~ 'tower\s?\*?bridge'  order by id asc;

这是我的查询,我已经测试过了,但是没有用!

【问题讨论】:

    标签: regex postgresql case-insensitive


    【解决方案1】:

    您必须使用~* 而不是~

    【讨论】:

      【解决方案2】:

      如果您想在不更改查询本身的情况下支持区分大小写和不区分大小写的查询,您可以使用Regular Expression Metasyntax 更改运算符的行为。 它们可以覆盖正则表达式运算符所隐含的区分大小写的行为。

      tags ~ 'Case Sensitive'
      tags ~ '(?i)case insensitive'
      tags ~* 'case insensitive'
      tags ~* '(?c)Case Sensitive'
      

      【讨论】:

      • 这个很好的功能在未被充分利用和被低估的情况下,就像这个答案。我希望这会变得更好!
      猜你喜欢
      • 2011-04-22
      • 2021-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-14
      • 1970-01-01
      相关资源
      最近更新 更多