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

如何在Presto中提取方括号[]内的文本,求可用正则表达式写法

Presto提取方括号内内容的解决方案

你可以直接使用Presto内置的regexp_extract函数实现需求,匹配方括号内容的正则模式为\[([^\]]+)\]:

  • 模式说明:
    • \[ 匹配左方括号字符
    • ([^\]]+) 是捕获组,匹配所有非右方括号的连续字符,也就是你需要提取的方括号内的内容
    • \] 匹配右方括号字符

具体用法示例

1. 提取单个方括号内的内容

如果你的字段值中只有一个方括号内容,用以下写法,第三个参数1表示取正则中第一个捕获组的内容:

SELECT regexp_extract(你的字段名, '\[([^\]]+)\]', 1) AS extracted_content
FROM 你的表名;

2. 提取所有方括号内的内容

如果字段值中存在多个方括号,需要提取全部内容,使用regexp_extract_all函数,返回结果为数组类型:

SELECT regexp_extract_all(你的字段名, '\[([^\]]+)\]', 1) AS extracted_content_list
FROM 你的表名;

测试验证

你可以直接运行以下语句测试效果:

SELECT regexp_extract('aaa_[xxx]', '\[([^\]]+)\]', 1) AS test_result;

运行后返回结果为xxx,符合需求。

注意:Presto的正则表达式中,转义特殊字符仅需使用单斜杠\,不需要像部分其他SQL引擎一样使用双斜杠转义。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 00:57:02