Как найти в таблице в файле docx множество словосочетаний (регулярных выражений) с помощью python?

Требуется найти, есть ли совпадения нескольких словосочетаний (регулярных выражений) в таблице в файле docx, и вывести все совпадения на экран.

Вот какой код я пишу:

import re

from docx import Document

document = Document('Altai.docx')
reg542 = [re.compile("(?i).....name one.*"),
               re.compile("(?i).....name two.*")]


for table in document.tables:
    for row in table.rows:
        for cell in row.cells:
            for paragraph in cell.paragraphs:
                if re.match(reg542, paragraph.text):
                    print (paragraph.text)

Пишет, что ошибка

TypeError: unhashable type: 'list'


Ответы (2 шт):

Автор решения: CrazyElf

Попробуйте так:

reg542 = re.compile("(?i).....name one.*|(?i).....name two.*")

Если таких выражений будет много, то можно их через '|'.join() соединить из списка, если так будет удобнее.

→ Ссылка
Автор решения: Pavel

This one worked

import re

from docx import Document

document = Document('file.docx')

reg542 = re.compile(r"(?i)regex 1.*"
                    r"|(?i)regex 2.*"
                    r"|(?i)regex n.*")

for table in document.tables:
    for row in table.rows:
        for cell in row.cells:
            for paragraph in cell.paragraphs:
                if reg542.search(paragraph.text):
                    print(paragraph.text)
→ Ссылка