Из документации улей:
REGEXP_REPLACE (строка INITIAL_STRING, строка шаблон, строка ЗАМЕНА)
Возвращает строку, в результате замены всех подстрок в INITIAL_STRING, которые соответствуют Java синтаксиса регулярных выражений, определенному в модели с экземплярами ЗАМЕНЫ. Например, regexp_replace («foobar», «oo | ar», «») возвращает «fb». Обратите внимание, что при использовании предопределенных классов символов необходимо соблюдать осторожность: используя '\ s', поскольку второй аргумент будет соответствовать букве s; '\ S' необходимо соответствовать пробельному и т.д.
Ссылка: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF
Вы должны сделать что-то вроде этого:
select REGEXP_REPLACE('“Persi és Levon Cnatówóeez', '^[\!-\/\[-\`]+', '')
Я не Hive права знать, чтобы попробовать этот код , но идея должна быть правильной. Во втором поле вы должны поместить то, что хотите заменить, а не то, что вы хотите сохранить в своей строке. В этом конкретном случае это должно удалить (заменить пустой строкой) каждый последующий символ в начале строки, находящийся в диапазоне от! на/или в диапазоне [на `обращение к таблице ASCII.
Этот вопрос касается ** регулярных выражений **, а не о Hive или SQL. Соответственно измените теги. –
И, кстати, вы можете привязать свое выражение к * началу * входного текста с помощью * cart * ie '^ [^ a-zA-Z0-9] +' Обратите внимание, что у каретки разные значения при запуске RegEx и когда он запустит список символов в скобках. –