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

如何在python-docx的grep功能中实现re.IGNORECASE方法

使用python-docx实现大小写不敏感的grep功能

要实现大小写不敏感的匹配,直接用Python的re模块结合re.IGNORECASE标志即可,修改后的代码如下:

import glob
from docx import Document
import re  # 导入正则模块

files = glob.glob("Folders/*.docx")
fetchWord = "sample"
# 预编译正则表达式,提升批量文件处理效率
pattern = re.compile(fetchWord, re.IGNORECASE)

for file in files:
    document = Document(file)
    count = 0
    for para in document.paragraphs:
        # 使用正则搜索替代原有的find方法
        if pattern.search(para.text):
            print(f"{file}:段落{count}:{para.text}")
        count += 1  # 修正原代码未递增段落序号的问题

关键修改说明

  • 新增import re导入正则模块,用于处理大小写不敏感匹配逻辑
  • 用re.compile预编译匹配模式并添加re.IGNORECASE标志,既实现忽略大小写的匹配,又能提升多文件处理时的执行效率
  • 替换原有的find方法为正则搜索:pattern.search(para.text)会在段落文本中查找任意位置的匹配内容,只要存在匹配就返回非空结果
  • 补上count += 1,修正原代码中段落序号始终为0的问题

可选优化:精确匹配独立单词

如果需要避免匹配到包含目标词的衍生词(比如不想匹配samples或exsample),可以把正则模式改成带单词边界的形式:

pattern = re.compile(rf"\b{fetchWord}\b", re.IGNORECASE)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 06:30:55