首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用REGEXP提取BigQuery中的特定组合

如何用REGEXP提取BigQuery中的特定组合
EN

Stack Overflow用户
提问于 2020-12-06 09:27:00
回答 1查看 103关注 0票数 1

我有一个长的文本,这是其中的一部分:“放置”:1,“协议”:2,3,5,6},“安全”:1

我需要提取协议列表,结果只有2,3,5,6。

我使用的是REGEXP_EXTRACT(文本,r‘“协议”:(^“+)’),但是结果总是不同的:有时只有2,3,5,6,有时需要更多: 2,3,5,6},

如何构建我的REGEXP,以便结果总是只有括号中的列表?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-06 11:10:14

您可以使用

代码语言:javascript
复制
REGEXP_EXTRACT(text, r'"protocols"\s*:\s*(\[[^][]+])')

regex演示

要获得不带括号的protocols的内容,请将分组边界移到内部:

代码语言:javascript
复制
REGEXP_EXTRACT(text, r'"protocols"\s*:\s*\[([^][]+)]')

这个regex演示

详细信息

  • "protocols" -文字文本
  • \s*:\s* -用零或多个空格括起来的冒号
  • \[ -a [ char
  • [^][]+ - []以外的一个或多个字符
  • ] -a ] char.
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65166505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档