美文网首页大数据
hivesql 正则提取url

hivesql 正则提取url

作者: 堂哥000 | 来源:发表于2021-03-05 16:24 被阅读0次

    整体写法

    regexp_replace(regexp_extract(text,'([a-z0-9:/A-Z]+\\\\.(?![0-9]{2}[^0-9a-zA-Z.:/])[0-9/:-a-zA-z.]+)',1),'^:','' ) 
    
    分步解释
    1. url一定有'.'存在 : 在点的前后一定有字母、数字、冒号、斜杠等字符(无中文)
      按这个想法可得到 [a-z0-9:/A-Z]+\\\\.[0-9/:-a-zA-z.]+
    2. 剔除干扰数据
      a. 开头冒号:使用regexp_replace(result_text,'^:','' )统一替换
      b.一段文本中有多个疑似url ,比如99.99等同样会干扰输出
      对于这样的使用零宽断言来实现:在点的后面不允许出现两个数字结尾
      \\\\.(?![0-9]{1,2}[^0-9a-zA-Z.:/])

    相关文章

      网友评论

        本文标题:hivesql 正则提取url

        本文链接:https://www.haomeiwen.com/subject/gzarqltx.html