Должен ли я использовать Parse :: RecDescent или Regexp ::Grammars для извлечения таблиц из документов?

#perl #regexp-grammars #parse-recdescent

#perl #регулярные выражения-грамматики #parse-recdescent

Вопрос:

У меня много больших текстовых документов, которые я хочу проанализировать с помощью perl. В каждом документе есть в основном английские абзацы, а в каждом документе есть несколько таблиц с разметкой обычного текста.

Я создал грамматику для описания структуры таблицы, но не уверен, будет ли лучше использовать Parse ::RecDescent или Regexp::Grammars для извлечения таблиц.

Изначально я склонялся к Parse::RecDescent , но я не уверен в грамматике, как вы справитесь с 90% текста документа, который я хочу игнорировать, чтобы найти пару таблиц, которые я хочу извлечь, спрятанных внутри каждого документа.

Возможно, мне нужно Regexp :: Grammars, чтобы я мог «тянуть» свое выражение по документу, пока оно не найдет совпадения?

Спасибо

Ответ №1:

Regexp ::Grammars — это то, что я хотел, поскольку это позволяет вам извлекать грамматику из документа и находить совпадения, подобные регулярному выражению. Parse::RecDescent, похоже, не подходит для сканирования документа и поиска только текста, соответствующего грамматике.