You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用正则提取葡萄牙诉讼文档的章节标题及对应内容?

葡萄牙语诉讼文档章节提取解决方案

问题分析

你用的正则^[A-Z\s\d\W]+$范围太宽泛,仅靠全大写行匹配标题,但葡萄牙语诉讼文档里可能存在全大写的正文段落(比如PDF转换时的格式错乱、强调性正文内容),导致误匹配。另外,葡萄牙语带重音的大写字母(À, Á, Â, É, Ê, Í, Ó, Ô, Ú, Ç等)未被原正则覆盖,会直接漏掉带重音的合法标题。

优化正则方案

1. 精准匹配标题特征

葡萄牙语诉讼文档的章节标题通常具备以下特征:

  • 全大写(含带重音的大写字母及Ç)
  • 带有明确的章节前缀(如CAPÍTULO、SEÇÃO、ARTIGO等)或数字编号(如1., 1.1, 3.2.1等)
  • 单独占一行,结尾可能带标点(冒号、句号等)

优化后的正则表达式:

^(CAPÍTULO|SEÇÃO|ARTIGO|PARÁGRAFO|ITEM|[\d.]+)\s+[A-ZÀ-ÚÇ\s\W]+$
  • 优先匹配常见的章节前缀或数字编号,锁定标题的核心标识
  • 覆盖葡萄牙语所有带重音的大写字母,避免遗漏合法标题

2. 结合上下文过滤误匹配

如果仍存在少量误匹配,可以通过上下文逻辑进一步过滤:

  • 标题下一行通常是正文(首字母小写或存在缩进)
  • 标题长度不会过长(超过50字符的全大写行大概率是正文)

示例Python代码实现:

import re

def extract_chapters(doc_content):
    # 匹配标题的正则规则
    title_pattern = re.compile(r"^(CAPÍTULO|SEÇÃO|ARTIGO|PARÁGRAFO|ITEM|[\d.]+)\s+[A-ZÀ-ÚÇ\s\W]+$", re.MULTILINE)
    chapters = []
    lines = doc_content.split("\n")
    current_title = None
    current_content = []
    
    for line in lines:
        line = line.strip()
        if not line:
            continue
        # 检查当前行是否为标题
        if title_pattern.match(line):
            # 保存上一个章节的内容
            if current_title:
                chapters.append((current_title, "\n".join(current_content)))
                current_content = []
            current_title = line
        else:
            # 非标题行,归入当前章节内容
            if current_title:
                current_content.append(line)
    # 保存最后一个章节
    if current_title and current_content:
        chapters.append((current_title, "\n".join(current_content)))
    return chapters

# 调用示例
with open("processo_judicial.txt", "r", encoding="utf-8") as f:
    content = f.read()

extracted_result = extract_chapters(content)
for title, content in extracted_result:
    print(f"=== {title} ===")
    print(content[:200] + "...\n")

额外优化建议

  • 使用pdftotext的-layout参数执行转换:pdftotext -layout input.pdf output.txt,保留PDF原格式布局,减少行错乱导致的匹配误差
  • 对于格式复杂的文档,可结合PDF解析库(如pdfplumber、PyPDF2)直接获取文本的字体大小、加粗样式,标题通常具备更大字号或加粗属性,能实现更精准的区分

内容的提问来源于stack exchange,提问作者celsowm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 14:35:11