2016-04-19 3 views
1

Я пытаюсь извлечь 44 из строкиRegex улей не работает

Created RSA Key 45555 from Intelligent Expense ID 44|54?HOTEL?345555||||| 

с использованием Hive regexp_extract.

Регулярное выражение, которое я имею в настоящее время, это (^\ID\s)\d* и оно не работает.

Может кто-нибудь помочь мне, пожалуйста

+0

этой '(\ ID \ s) \ d *' ..remove anchor ('^') .. хотя лучше будет использовать '(\ ID \ s) \ d +' – rock321987

+0

Спасибо. но это также приводит к идентификатору. Если я хочу только 44, то какое бы регулярное выражение было –

+0

изменить группу захвата: - 'ID \ s (\ d +)' – rock321987

ответ

1

^ метки на начало строки, которая не всегда так, потому что она не обязательно должна начинаться с ID. Таким образом, вы можете использовать

(ID\s)\d* 

Для захвата только цифры после ID и вы должны использовать \d+ вместо \d*

ID\s(\d+) 

Эта группа записи можно получить с помощью 1 как упомянуто использование here

+0

Большое вам спасибо! –

+0

@AdithyaKumar приветствуется – rock321987

Смежные вопросы