Redshift中提取字符串最后一个'/'后内容的正则表达式求解
提取Redshift字符串中最后一个斜杠后的内容
在Redshift中,你可以使用REGEXP_SUBSTR函数配合正则表达式[^/]+$来实现需求,直接提取最后一个/之后的内容。
基础用法SQL示例
SELECT REGEXP_SUBSTR(customer_site, '[^/]+$') AS site_name FROM your_table_name;
正则表达式说明
[^/]:匹配任何非斜杠的字符+:指定前面的字符至少出现一次$:锚定到字符串的结尾位置
这个正则会从字符串末尾反向匹配所有连续的非斜杠字符,正好对应最后一个斜杠之后的内容。
处理末尾带斜杠的情况
如果你的customer_site字段存在末尾带斜杠的情况(比如https://hello.com/my_first_website/),上面的正则会返回空字符串。可以先通过TRIM函数去除末尾的斜杠,再提取:
SELECT REGEXP_SUBSTR(TRIM(TRAILING '/' FROM customer_site), '[^/]+$') AS site_name FROM your_table_name;
内容的提问来源于stack exchange,提问作者Bunny Talks
相关产品推荐
相关产品推荐

