Regex для преобразования CamelCase в случай змеи в Redshift - PullRequest
1 голос
/ 26 февраля 2020

Я пытаюсь преобразовать CamelCase в случай змеи или через разделитель, используя regex в SQL (AWS Redshift). Так что-то вроде

regexp_replace(MyString, '([A-Z]+)', '-$1')

за исключением того, что мне нужно указать не в начале строки. Прямо сейчас,

MyString -> -my-string вместо my-string.

Как мне это сделать?

1 Ответ

1 голос
/ 27 февраля 2020

Сопоставьте и захватите любой символ перед заглавными буквами и восстановите его, используя другую обратную ссылку в шаблоне замены:

regexp_replace(MyString, '(.)([A-Z]+)', '$1-$2')
                          ^^^            ^^^^^

См. Демонстрационную версию regex .

Я понимаю, вы уже LOWER результат после замены регулярного выражения.

...