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

如何用Python结合正则表达式从PDF提取指定工作名称文本?

提取指定区间文本的Python实现方法

方法一:正则表达式(推荐)

利用非贪婪匹配结合跨行匹配标志,精准提取目标区间内容。考虑到PDF转字符串后可能包含换行,需启用re.DOTALL让.匹配换行符。

代码示例:

import re

# text为你从PDF提取的前5页字符串
text = "PDF转换后的字符串内容..."

# 匹配从"Name of work:"到"Tamilnadu."的内容
pattern = r'Name of work:(.*?)Tamilnadu\.'
match = re.search(pattern, text, re.DOTALL)

if match:
    # 提取内容并去除前后空白
    work_name = match.group(1).strip()
    print(work_name)
else:
    print("未找到匹配内容")
  • 说明:(.*?)是非贪婪匹配,确保只匹配到第一个Tamilnadu.为止;re.DOTALL解决内容换行导致的匹配失败问题。

方法二:字符串索引切片

如果文本结构固定,也可以直接用find()定位起止位置后切片提取,逻辑更直观:

代码示例:

# text为PDF转换后的字符串
text = "PDF转换后的字符串内容..."

start_key = "Name of work:"
end_key = "Tamilnadu."

start_idx = text.find(start_key)
if start_idx != -1:
    # 跳过起始关键词本身的长度
    start_idx += len(start_key)
    end_idx = text.find(end_key, start_idx)
    if end_idx != -1:
        work_name = text[start_idx:end_idx].strip()
        print(work_name)
    else:
        print("未找到结束标记'Tamilnadu.'")
else:
    print("未找到起始标记'Name of work:'")
  • 优点:无需正则知识,适合结构简单固定的文本;缺点:若存在重复起止标记,需额外处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 15:30:20