策略性地追踪各种模式 - python 正则表达式

问题描述 投票:0回答:0

我必须从 PDF 文档中提取信息,所有文档都具有相同的结构。我使用以下正则表达式:

regex_objetivos = r"Objetivo([\s\S]*)(?=3\s*\.\s*Justi)"
regex_claves = r"Palabras\s+clave([\s\S]*?)(?:Intro|Introduc|1\s*.)"
regex_resumen = r"Resumen([\s\S]*?)(?=\s*Palabras\s*clave)"
regex_directores =r"Directores:\s*([\s\S]*?)(?:\n|\r\n?)" here

我提取的方式如下:

            if not b_resumen:
                match = re.search(regex_resumen, text)
                if match:
                    b_resumen = True
                    resumen = match.group(1).strip()
                else:
                    resumen = "no encontrado"

            if not b_claves:
                b_claves = True
                match = re.search(regex_claves, text)
                #print(text)
                if match:
                    claves = match.group(1).strip()
                else:
                    claves = "no encontrado"

            if not b_directores:
                match = re.search(regex_directores, text)
                if match:
                    b_directores = True
                    directores = match.group(1).split(',')
                else:
                    directores = ["no encontrado"]

            if not b_objetivos:
                match = re.search(regex_objetivos, text)
                if match:
                    b_objetivos = True
                    objetivos = match.group(1)
                    break
                else:
                    match = re.search(r"Objetivo([\s\S]*)(?=$)", text)
                    if match:
                        b_objetivos = True
                        objetivos = match.group(1)
                        break
                    else:
                        objetivos = "no encontrado"

我的问题是,如果文档总是具有相同的结构,有没有办法优化我的匹配,使得搜索是连续的,而不是从 0 开始搜索?

我尝试优化我的代码以减少自动化时间

python nlp screen-scraping text-extraction
© www.soinside.com 2019 - 2024. All rights reserved.