0
вход:PIG: индекс в REGEX_EXTRACT (строка, '\ w {2}', 1);
1 XDi AL LO LOL
LOVEISALL
OP
LO
OPW
Код
a = load 'input' as (line:chararray);
b = foreach a generate REGEX_EXTRACT(line, '\\w{2}', 0);
dump b;
Я хотел бы извлечь, если входные файлы имеют два символа на нем.
Выход:
(XD)
(LO)
(OP)
(LO)
(OP)
Я мог бы понять объяснение индекса регулярных выражений в свиных документов. что это значение 0 или 1. Означает ли это положение слова в линейном скаляре? Если да, я дал 0, поэтому он должен искать первое появление слова в строке. но он просматривает полную строку.
Есть ли у кого-то идеи.
Ваш шаблон Regex правильный, спасибо. Pls сообщит мне причину упоминания 1 в индексе. – datarockz2
1 означает возврат строки, которая соответствует первой группе захвата(). Например, мое регулярное выражение - это что-то вроде REGEX_EXTRACT (строка, '(\\ w {2}) (\\ w {2}) (\\ w {2})', 2). В этом случае мой вывод будет второй группой захвата. –