【问题标题】:Impala/Hive string extract inside square brackets方括号内的 Impala/Hive 字符串提取
【发布时间】:2021-02-25 13:15:21
【问题描述】:

我有一个字符串,我需要使用 Impala/Hive 获取方括号内的最后一个字符串。

Ex1:

String = "rcm_case_items_relation [Alert] Indicator added [Indicator]"

所需的输出应该是:指标

我尝试使用类似这样的正则表达式函数,但没有奏效。请帮忙

select regexp_extract("rcm_case_items_relation [Alert] Indicator added [Indicator]",*?([[:[]:]]+).*?',1)

【问题讨论】:

    标签: hive hiveql impala


    【解决方案1】:

    你可以试试这个正则表达式:(.|\\n)*\\[((.|\\n)*)\\]

    select regexp_extract('rcm_case_items_relation [Alert] Indicator added [Indicator]', '(.|\\n)*\\[((.|\\n)*)\\]', 2);
    

    【讨论】:

    • 感谢您的回复。此解决方案适用于单行字符串,但不适用于多行字符串。示例:select regexp_extract("FCI SAR Trigger Event Assessment changed from [XXXX123] to [empty] FCI SAR Other Legal Entity changed from [NO] to [empty] FCI SAR Other Important Factors changed from [TESTING] to [test case 2 checks ] DISPOSITION_RATIONALE 从 [TEST] 更改为 [TEST 2 固定以检查是否工作]", '.*\[(.*)\]', 1);预期的输出应该是: TEST 2 固定以检查是否工作。你能建议吗?
    • @santhosh 请尝试编辑后的答案,其中包括换行符。
    猜你喜欢
    • 2016-08-19
    • 1970-01-01
    • 2016-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多