You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL如何提取tags字段中指定键k8s-azure-created-by的值?

PostgreSQL提取tags字段中指定键对应的值

针对你的需求,有两种可靠的实现方式:

方法一:正则表达式直接提取

利用PostgreSQL的正则匹配函数,精准定位目标键对应的值,同时清理字段中的HTML标签:

SELECT 
  regexp_replace(
    regexp_match(tags, '"k8s-azure-created-by":\s*"([^"]+)"')[1],
    '<[^>]+>', '', 'g'
  ) AS k8s_azure_created_by
FROM content;
  • regexp_match 匹配目标键及其值,捕获组([^"]+)提取双引号内的内容
  • regexp_replace 移除所有HTML标签(比如<strong>)

方法二:转换为JSON对象提取(更健壮)

由于你的tags字段内容接近JSON结构,先清理HTML标签后转为合法JSON,再通过JSON操作提取值,这种方式更灵活,后续提取其他键也很方便:

SELECT 
  (
    jsonb(
      '{' || regexp_replace(tags, '<[^>]+>', '', 'g') || '}'
    ) ->> 'k8s-azure-created-by'
  ) AS k8s_azure_created_by
FROM content;
  • regexp_replace(tags, '<[^>]+>', '', 'g') 清除所有HTML标签
  • 前后拼接{}将内容转为合法JSON对象,再转成jsonb类型
  • ->> 操作符提取指定键对应的文本值

内容的提问来源于stack exchange,提问作者hola

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 03:37:02