Teradata 正则表达式
Teradata regular expressions
如何删除第二个小节之后出现的所有内容?
SELECT REGEXP_replace('/admin/home/log', '(/\w+){,2}','');
SELECT REGEXP_replace('/admin/home/out', '(/\w+){,2}','');
SELECT REGEXP_replace('/admin/login', '(/\w+){,2}','');
SELECT REGEXP_replace('/test/login', '(/\w+){,2}','');
SELECT REGEXP_replace('/test/login/file/cam', '(/\w+){,2}','');
解决方案:
/admin/home
/admin/home
/admin/login
/test/login
/test/login
使用regexp_replace()
:
SELECT REGEXP_REPLACE('/admin/home/log/test', '([^/]/[^/]*/).*$', '');
相反,如果替换余数,您可以简单地提取第三个斜线之前的所有内容:
SELECT REGEXP_SUBSTR('/admin/home/log', '(/[^/]+){1,2}');
如何删除第二个小节之后出现的所有内容?
SELECT REGEXP_replace('/admin/home/log', '(/\w+){,2}','');
SELECT REGEXP_replace('/admin/home/out', '(/\w+){,2}','');
SELECT REGEXP_replace('/admin/login', '(/\w+){,2}','');
SELECT REGEXP_replace('/test/login', '(/\w+){,2}','');
SELECT REGEXP_replace('/test/login/file/cam', '(/\w+){,2}','');
解决方案:
/admin/home
/admin/home
/admin/login
/test/login
/test/login
使用regexp_replace()
:
SELECT REGEXP_REPLACE('/admin/home/log/test', '([^/]/[^/]*/).*$', '');
相反,如果替换余数,您可以简单地提取第三个斜线之前的所有内容:
SELECT REGEXP_SUBSTR('/admin/home/log', '(/[^/]+){1,2}');