含换行符的PDF搜索短语匹配失败:无法提取指定首尾短语页面
PDF页面提取:含换行短语的匹配解决方案
- 问题核心:PDF文本提取时,换行符常被转换为空格、制表符或其他空白字符,而非标准的
\n,直接用Test\n1. Applicability自然匹配失败 - 解决思路:
- 用空白字符通配符替代固定换行符,正则表达式里用
\s+匹配任意数量空白(含换行、空格、制表符),匹配语句写为Test\s+1\. Applicability - 预处理提取的PDF文本:把所有空白字符统一替换为单个空格,再用
Test 1. Applicability作为搜索词匹配
- 用空白字符通配符替代固定换行符,正则表达式里用
- 工具实操(以Python的PyPDF2库为例):
import PyPDF2 import re def extract_matching_pages(pdf_path, pattern): matched_pages = [] with open(pdf_path, 'rb') as f: reader = PyPDF2.PdfReader(f) for page_num, page in enumerate(reader.pages, 1): text = page.extract_text() # 统一空白字符格式 cleaned_text = re.sub(r'\s+', ' ', text) if re.search(pattern, cleaned_text): matched_pages.append(page_num) return matched_pages # 调用示例 result = extract_matching_pages("your_large.pdf", r'Test 1\. Applicability') print(f"匹配页面:{result}") - 注意事项:大体积PDF建议分块处理避免内存溢出;部分PDF存在文本乱序,需先验证文本提取的准确性
内容的提问来源于stack exchange,提问作者jcm5
相关产品推荐
相关产品推荐

