sql - PostgreSQL - 选择字符串中带有 ID 的所有评论
问题描述
我在一个大表中有一些有问题的插入列,如下所示:
id | comment
1 | problematic comment @[some_string](some_string) without ID in it
2 | normal comment @[theunreal](1239329322) good comment with user mention
如您所见,有一个带有 ID 的注释,另一个带有字符串。我想用括号中的字符串选择所有注释(有问题的一次 - 示例中的第一个)
知道如何使用 Postgres 查询此类数据吗?
解决方案
您可以尝试像这里这样的正则表达式:
SELECT *
FROM yourTable
WHERE comment !~* '@\[.*?\]\([0-9]+\)';
演示
上面的逻辑试图找到具有正确(1239329322)
格式的注释,即括号内的所有数字。然后它匹配任何没有所有数字的记录。
推荐阅读
- c# - 表格布局面板的winform自动滚动不起作用
- compiler-errors - HAWQ安装错误
- javascript - 关于点的大工具提示 - Highcharts
- r - 如何在 R 中修复“无法加载 cairo DLL”?
- angular - 没有 Rx.interval 的 Angular 无限 HTTP 轮询循环
- javascript - 使用 fetch() 发布时未设置 Cookie
- c# - 以目标目录路径为参数的静默安装
- python - 检查数据框是否有零元素
- ruby-on-rails - 后期模型中 before_save 的未定义方法错误
- javascript - JavaScript 中的解构赋值模式似乎并不清晰