Как правильно искать регулярное выражение через Python в очень длинном PDF, который также отформатирован? - PullRequest
0 голосов
/ 23 марта 2020

У меня очень длинный PDF (я говорю о более чем 1000 страницах), я пытаюсь разобрать, чтобы найти в нем регулярное выражение. Если я попытаюсь использовать простое и распространенное слово, мой код будет работать, но с помощью регулярного выражения, которое я пытаюсь найти, он не будет работать. Я почти уверен, что мое регулярное выражение верно, я попробовал это в регулярном выражении. Я предполагаю, что некоторые части PDF отформатированы определенным образом c (с таблицами, вроде, но без строк таблицы), и парсер не может прочитать эти части. Есть ли какое-либо решение этой проблемы?

Вот код:

import PyPDF2
import re
#regex = re.compile(r"\[(\s)prima(?!\S)")
#File is located on Desktop
pdfFileObj=open('fel.pdf','rb')          #Opening the File
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
count = pdfReader.numPages
for i in range(count):
    page = pdfReader.getPage(i)
    for match in re.findall(r"\[(\s)prima(?!\S)", page.extractText()):
        print(match)

Мое регулярное выражение означает: найти все вхождения "[prima".

...