Регулярное выражение в Teradata - PullRequest
0 голосов
/ 16 мая 2018

У меня есть текст в столбце, например '/T$ABC$DEF$T12M5UU$S1$XXXYYY$122F370', и я пытаюсь извлечь только 122F370.Я использовал приведенную ниже функцию, чтобы извлечь только 7 символов после последнего $, но это дает мне ошибку.Может кто-нибудь, пожалуйста, помогите?Это то, что я использую в настоящее время

REGEXP_SUBSTR(TXT,'^([^$]*$){6}\K.......',1,1,'i')

1 Ответ

0 голосов
/ 16 мая 2018

В RegEx $ означает конец строки . Конечно, есть только один из них: -)

Вы должны замаскировать это с помощью \:

RegExp_Substr(TXT,'^([^$]*\$){6}\K.{7}',1,1,'i')

Для извлечения всегда последних 7 символов:

RegExp_Substr(TXT,'.{7}$',1,1,'i')

Если между этими $ всегда есть символы, вы также можете использовать

StrTok(TXT,'$', 7)
...