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