Функция REGEXP_EXTRACT
ожидает регулярное выражение pattern в качестве второго аргумента. /
символы в онлайн-тестерах регулярных выражений обозначают разделители регулярных выражений , которые не являются частью шаблонов регулярных выражений . Часть g
является регулярным выражением flag (для сопоставления нескольких вхождений шаблона в строке), и она также не является частью шаблона. Вам следует только передать строковый шаблон в функцию регулярного выражения Hive.
Кроме того, чтобы извлечь одну или несколько цифр, вы можете использовать [0-9]+
вместо [0-9]*
, поскольку *
соответствует только 0 или более вхождениям.
Используйте
select REGEXP_EXTRACT('DOM_10GB_mth','[0-9]+', 0)
См. это демо регулярных выражений .
Обратите внимание, что в regexr или любом другом онлайн-тестере регулярных выражений шаблон /[0-9]*/g
не будет работать либо .