如何编写Regex匹配去掉inventory单词的同名doc文件
匹配成对带/不带
inventory后缀doc文件的正则方案 场景1:从带inventory的文件名提取对应无后缀的文件名
使用正则捕获前缀部分:^(?<file_prefix>.+?)-inventory\.doc$
- 捕获组
file_prefix的内容就是目标文件的前缀,直接拼接.doc即可得到对应文件名,比如示例中捕获到的front-AppealsCourtPI-Mar2021拼接后就是front-AppealsCourtPI-Mar2021.doc
场景2:批量匹配所有成对的两类文件
使用如下正则匹配所有符合规则的文件,按捕获的前缀分组即可筛选出成对文件:^(?<file_prefix>.+?)(?:-inventory)?\.doc$
- 非捕获组
(?:-inventory)?表示-inventory后缀可选,两类文件都会命中,且共享同一个file_prefix值
场景3:直接把带inventory的文件名转换为无后缀版本
用替换正则即可,无需分组捕获:
- 查找规则:
-inventory(?=\.doc$) - 替换规则:空字符串
- 说明:正向前瞻
(?=\.doc$)确保只会匹配文件名末尾.doc之前的-inventory,不会误删文件名中间出现的inventory字符
内容的提问来源于stack exchange,提问作者Software Developer
相关产品推荐
相关产品推荐

