#perl #regexp-grammars #parse-recdescent
#perl #регулярные выражения-грамматики #parse-recdescent
Вопрос:
У меня много больших текстовых документов, которые я хочу проанализировать с помощью perl. В каждом документе есть в основном английские абзацы, а в каждом документе есть несколько таблиц с разметкой обычного текста.
Я создал грамматику для описания структуры таблицы, но не уверен, будет ли лучше использовать Parse ::RecDescent или Regexp::Grammars для извлечения таблиц.
Изначально я склонялся к Parse::RecDescent , но я не уверен в грамматике, как вы справитесь с 90% текста документа, который я хочу игнорировать, чтобы найти пару таблиц, которые я хочу извлечь, спрятанных внутри каждого документа.
Возможно, мне нужно Regexp :: Grammars, чтобы я мог «тянуть» свое выражение по документу, пока оно не найдет совпадения?
Спасибо
Ответ №1:
Regexp ::Grammars — это то, что я хотел, поскольку это позволяет вам извлекать грамматику из документа и находить совпадения, подобные регулярному выражению. Parse::RecDescent, похоже, не подходит для сканирования документа и поиска только текста, соответствующего грамматике.