【问题标题】:SQL or regular expression to match strings whose end is like the beginning, but in reverseSQL 或正则表达式匹配结尾与开头类似但相反的字符串
【发布时间】:2015-03-13 14:46:21
【问题描述】:

我有查询select * from tbl where column like '%DEF%'

是否可以使用正则表达式让DEF前面的字符与末尾的字符相同但相反?

匹配结果ASDEFSATERDEFRET的示例?

【问题讨论】:

  • stackoverflow.com/questions/29033022/postgres-wildcards 之后大约一个小时被问到这只是巧合吗? (不是重复的,只是奇怪的相似)。
  • 哈哈,我看到了这个问题,想知道你如何对多个字符做同样的事情,但无法评论这个问题

标签: sql regex postgresql


【解决方案1】:

这可以通过reversereplace 的组合来完成:

SELECT *
FROM   tbl
WHERE  col LIKE '%DEF%' AND
       REPLACE(col, 'DEF', '') = REVERSE(REPLACE(col, 'DEF', ''))

【讨论】:

  • 哦,太巧妙了!删除不变部分,看看你是否留下了回文。
猜你喜欢
  • 2015-04-27
  • 1970-01-01
  • 2016-12-07
  • 2014-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-07
相关资源
最近更新 更多