hive> select regexp_extract('B=10\;AB=12\;B=33', '(\;|^)B=([0-9]*)', 2);
OK
10
Time taken: 0.157 seconds, Fetched: 1 row(s)
hive> select regexp_extract('MB=16\;B=12\;A=23', '(\;|^)B=([0-9]*)', 2);
OK
12
Time taken: 0.11 seconds, Fetched: 1 row(s)
hive> select regexp_extract('A=10\;MB=23\;B=58', '(\;|^)B=([0-9]*)', 2);
OK
58
Time taken: 0.134 seconds, Fetched: 1 row(s)
hive>
Первая группа попытается сопоставить начало строки со значением 'B' или точку с запятой, за которой следует строка со значением 'B'.