首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >regexp_extract (number)_(number)

regexp_extract (number)_(number)
EN

Stack Overflow用户
提问于 2022-05-12 22:47:39
回答 1查看 151关注 0票数 -2

我是hiveSQL新手,我试图从col_a列中提取一个值,它是以这种格式显示的:\\\"id\\\":\\\"101_12345\\\",我只需要提取101_12345,但是下划线很难满足我的需求。我尝试使用regexp_extract(col_a, '(\\d+)[_](\\d+)'),但只输出101。能帮我处理一下regexp吗?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-12 23:19:03

简单的解决方案:您不需要这两个括号。

下面是一个可行的解决方案:'\\d+[_]\\d+'

当您将标记放入括号中时,regex引擎将将其匹配组合在一起,与完全匹配的分开。因此,最终结果将包括完全匹配,以及两个额外的匹配,分别表示下划线之前和之后的匹配。为了避免这种情况,只需去掉括号,因为您并不真正需要它们。

将来,如果希望将正则表达式组合在一起,但不希望结果单独包含,请使用(?:)提供的(?:)

下面是代码结果的演示,托管于regex101.com

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72222812

复制
相关文章

相似问题

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