Я пытаюсь извлечь строку из моих входных данных, такую как: I love [[cricket]]. Let's play it at [[16:00]].
Я хочу, чтобы вывод был просто: cricket, 16:00
Я пробовал несколько регулярных выражений, например:
'(?<=\[\[).*?(?=\]\])',
'\\[\\[(.*?)\\]\\]',
'\[\[(.*?)\]\]',
'[[([^>]*?)]]'.
grunt> Register '/usr/local/pig/lib/piggybank.jar';
grunt> Define Xpath org.apache.pig.piggybank.evaluation.xml.XPath();
grunt> page = Load 'hdfs://master:9000/IP/Wikipedia-20181215070630.xml' using org.apache.pig.piggybank.storage.XMLLoader('page') as (x : chararray);
link = Foreach page Generate Flatten(REGEX_EXTRACT_ALL(x, '(?<=\[\[).*?(?=\]\])'));
Всякий раз, когда мое регулярное выражение имеет '[', свинья выбрасывает ниже сообщение об ошибке:
<line 1, column 64> Unexpected character '['
2018-12-22 04:41:24,535 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1200: <line 1, column 64> Unexpected character '['.
И когда я пробовал другое вышеупомянутое регулярное выражение, я получаю пустой вывод.