Hans95 2022-03-04 10:07 采纳率: 100%
浏览 36
已结题

用正则替换字符串里括号里面所有内容

写sql 正则替换括号里面所有内容,里面可能包含符号,中午,英文,数值等包括括号
举例:
'深圳(今天a01)百度(a01)我(我)'
想要的结果为
'深圳百度我'

  • 写回答

3条回答 默认 最新

  • DarkAthena ORACLE应用及数据库设计方案咨询师 2022-03-04 16:57
    关注
    select regexp_replace( '深圳(今天a01)百度(a01)(我)','\\([^\\)]+\\)','') 
    

    img

    原理,识别所有的以左括号开始中间任意个数字符然后以右括号结尾,然后替换成空
    hive的正则,某些符号的转义需要双斜杠


    非得一个个符号解释么。。。

    \\(   表示左括号开始,HIVE转义要双斜杠
    [^\\)]+   表示除了右括号外的任意字符,加号表示任意个数
    \\)  表示右括号结尾
    

    也就是说,这个正则表达式匹配的就是所有的括号及括号里的内容

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 3月12日
  • 已采纳回答 3月5日
  • 创建了问题 3月4日