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

Remove all characters between two substrings in Hive SQL query

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

字符串:SECTION1/SECTION2/0000123456789/SECTION3/SECTION4 字符串:SECTION1/SECTION2/0000987654321/SECTION3/SECTION4 字符串:SECTION1/SECTION2/00005552121X/SECTION3/SECTION4 字符串:SECTION1/SECTION2/00005552222:ID/SECTION3/SECTION4

我正在尝试使用 REGEXP_REPLACE 替换可变长度,从中间开始 alpha/num/special char 字符串并将其替换为通用的内容,以便它们看起来像这样:

字符串:SECTION1/SECTION2/id_number_removed/SECTION3/SECTION4

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

将正则表达式模式 'SECTION2/[^/]+/SECTION3' 替换为 'SECTION2/id_number_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