如何构建RegEx反向匹配规则,匹配需排除的非目标文件?
生成反向匹配正则表达式(排除含"hit"的.zip文件)
你已经有了匹配文件名包含"hit"且后缀为.zip的正则表达式:.*hit.*\.zip,要生成反向匹配规则(即匹配所有非目标文件),可以使用负向前瞻实现,最终正则表达式为:
^(?!.*hit.*\.zip$).*
正则逻辑说明
^:锚定字符串起始位置(?!.*hit.*\.zip$):负向前瞻断言,确保当前位置之后的内容不匹配原目标正则规则(即文件名不含"hit",或后缀不是.zip).*:匹配任意剩余内容,确保整个字符串被捕获
示例验证
原始文件列表
c:\myFolder\hit_1234.zip c:\myFolder\hit_1235.zip c:\myFolder\hit.txt c:\myFolder\otherfile.zip c:\myFolder\otherfile.txt c:\myFolder\hit_1236.zip
匹配到的需排除文件(非目标文件)
c:\myFolder\hit.txt c:\myFolder\otherfile.zip c:\myFolder\otherfile.txt
内容的提问来源于stack exchange,提问作者eboth225
相关产品推荐
相关产品推荐

