Как использовать регулярные выражения с python docx? - PullRequest
0 голосов
/ 14 марта 2020

Я хочу найти указанное c регулярное выражение в документе DOCX. Я установил python-docx, и я могу найти строки в моем тексте. Однако я хочу использовать регулярные выражения.

Пока мой код:

import re
from docx import Document
doc = Document('categoriemanzoni.docx')
match = re.search(r"\[(['prima']+(?!\S))", doc)

for paragraph in doc.paragraphs:
    paragraph_text = paragraph.text
    if match in paragraph.text:
        print('ok')

Мне кажется, что он также не читает все параграфы. Как это исправить?

1 Ответ

1 голос
/ 14 марта 2020

Ваш код применяет регулярное выражение (которое само по себе неисправно) в неправильном месте. Вы, вероятно, хотите что-то вроде этого:

import re
from docx import Document
doc = Document('categoriemanzoni.docx')
regex = re.compile(r"\[prima(?!\S)")

for paragraph in doc.paragraphs:
    if regex.search(paragraph.text):
        print('ok')
...