Регулярные выражения Teradata - PullRequest
       10

Регулярные выражения Teradata

1 голос
/ 29 октября 2019

Как я могу удалить все, что появляется после второго бара?

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

Ответы [ 2 ]

2 голосов
/ 29 октября 2019

Использование regexp_replace():

 SELECT REGEXP_REPLACE('/admin/home/log/test', '([^/]/[^/]*/).*$', '\1');
1 голос
/ 30 октября 2019

Вместо этого, если заменить остаток, вы можете просто извлечь все до третьей косой черты:

SELECT REGEXP_SUBSTR('/admin/home/log', '(/[^/]+){1,2}');
...