Hive 删除配置单元SQL查询中两个子字符串之间的所有字符

Hive 删除配置单元SQL查询中两个子字符串之间的所有字符,hive,hiveql,regexp-replace,Hive,Hiveql,Regexp Replace,我有一列字符串,如下所示: 字符串:SECTION1/SECTION2/0000123456789/SECTION3/SECTION4 字符串:SECTION1/SECTION2/000098767454321/SECTION3/SECTION4 字符串:SECTION1/SECTION2/000055552121X/SECTION3/SECTION4 字符串:SECTION1/SECTION2/0000555222:ID/SECTION3/SECTION4 我尝试使用REGEXP_REPLAC

我有一列字符串,如下所示:

字符串:SECTION1/SECTION2/0000123456789/SECTION3/SECTION4 字符串:SECTION1/SECTION2/000098767454321/SECTION3/SECTION4 字符串:SECTION1/SECTION2/000055552121X/SECTION3/SECTION4 字符串:SECTION1/SECTION2/0000555222:ID/SECTION3/SECTION4

我尝试使用REGEXP_REPLACE替换中间的可变长度alpha/num/special char字符串,并将其替换为通用字符,使其看起来像这样:

字符串:第1节/第2节/id\u编号\u移除/第3节/第4节


我整个上午都在试图找到正确的正则表达式来替换“/SECTION2/”和“/SECTION3/”之间的所有内容,但没有成功。

'SECTION2/[^/]+/SECTION3'
替换正则表达式,替换为
'SECTION2/id\u number\u removed/SECTION3'
<代码>[^/]+表示1个或多个非斜杠字符

select regexp_replace(
    'STRING:SECTION1/SECTION2/00005552222:ID/SECTION3/SECTION4',
    'SECTION2/[^/]+/SECTION3', 
    'SECTION2/id_number_removed/SECTION3');

STRING:SECTION1/SECTION2/id_number_removed/SECTION3/SECTION4

完美的非常感谢。