Один запрос на улей для извлечения фрагмента строки - PullRequest
2 голосов
/ 18 марта 2020

У меня есть данные столбца "testdata", подобные этому "NEW /abc/testapp/v1 POST/6.0", и я хочу получить вывод как "/abc/testapp/v1"

Я могу получить данные начинаются с (/abc/testapp/v1 POST/6.0) вот так

select regexp_extract(testdata,'^(.*?)(?:/)(.*)$', 2) from tablename;

Но не уверен, как убрать часть POST / 6.0 в том же запросе. Может кто-нибудь помочь, пожалуйста?

Ответы [ 2 ]

1 голос
/ 18 марта 2020

Вы можете начать с первого пункта sh и взять все до следующего пробела:

regexp_extract(testdata, '(/[^\\s]+)', 0)
0 голосов
/ 18 марта 2020

Попробуйте выполнить любое из следующих действий:

regexp_extract(testdata,'\\S+', 0, 2)

-

regexp_extract(testdata,'/\\S+', 0)

-

regexp_extract(testdata,'\\s+(\\S+)', 1)
...