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

使用Python的re.sub删除PDF文本时仅部分生效的问题求助

使用Python的re.sub删除PDF文本时仅部分生效的问题求助

我正在开发一个脚本,目标是提取PDF中的全部文本并进行后续处理。第一步我需要清理文档,删除一段特定格式的文本,但遇到了问题:使用Python的re.sub时,它只在特定位置之前的内容生效,后面的目标文本根本删不掉。有没有朋友能帮我排查一下原因?

具体来说,我要删除的文本格式是IT Certification Guaranteed, The Easy Way! (页码),但运行脚本后发现只有前面几处被成功删除,后面的依然保留在提取出的文本里。

以下是我的完整代码:

import re
from pypdf import PdfReader
from sys import exit

# 以二进制只读模式打开PDF文件
reader = PdfReader("archivo.pdf")

texto_completo = ""
for page in reader.pages:
    texto_completo += page.extract_text() + "\n"

print(texto_completo)

# 删除格式为"IT Certification Guaranteed, The Easy Way! (页码)"的文本
texto_completo = re.sub(r'(?s)(?=IT Certification Guaranteed, The Easy Way!)(.*?)(\d+)', r"", texto_completo, re.MULTILINE)

print(texto_completo)

# 将处理后的文本写入结果文件
with open('resultado.txt', 'w') as res:
    res.write(texto_completo)

exit()

我已经检查过正则表达式的写法,但还是没搞懂为什么只能匹配到部分内容。有没有人能指点一下怎么修改才能让所有符合格式的文本都被删除?

备注:内容来源于stack exchange,提问作者J0nZ3t4

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 12:37:59