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

如何在PostgreSQL中使用正则表达式去除方括号

解决正则提取纯数值的方案

直接调整正则表达式,把方括号内的数值单独作为捕获组即可,修改后的SQL语句如下:

SELECT (regexp_matches('datavalue=Document{{value=[5]}}', 'datavalue=Document{{value=\[([0-9]+)\]'))[1] response;

说明:

  • 原正则的捕获组([^d}},'']+)会把方括号[和]也包含进去,所以返回[5]。
  • 修改后的正则datavalue=Document{{value=\[([0-9]+)\],明确匹配[之后的数字序列([0-9]+),再匹配],并把数字部分单独放到捕获组里,这样提取的结果就是纯数值5。

扩展场景(支持正负、小数)

如果数值可能包含正负号或小数(比如[-123.45]),可以用更通用的正则:

SELECT (regexp_matches('datavalue=Document{{value=[-123.45]}}', 'datavalue=Document{{value=\[([-+]?[0-9]+(\.[0-9]+)?)\]'))[1] response;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 05:15:37