我正在循环一个图像文件名数组,如下所示:
- ConImage1 - Core.png
- ConImage211 - Core.png
- ConImage34 - Core.png
- ConImage09 - Core.png
- ConImage11 - Core.png
- ConImageOri23.png
- ConImageOri2.png
- ConImageOri11.png
- ConImageOri132.png
- ConImageForEng7 - Core.png
- ConImageForEng12 - Core.png
- ConImageForEng11 - Core.png
- ConImageForEng10 - Core.png
- ConImage1-不喜欢-Core.png
- ConImage1-喜欢-核心.png
- ConImage12 - 不喜欢 - Core.png
- ConImage12 - 喜欢 - Core.png
- ConImage34 - 不喜欢 - Core.png
- ConImage34 - 喜欢 - Core.png
- ConImage55 - 不喜欢 - Core.png
- ConImage55 - 喜欢 - Core.png
我需要一个仅匹配以下文件名的正则表达式模式:
- ConImage1 - Core.png
- ConImage211 - Core.png
- ConImage34 - Core.png
- ConImage09 - Core.png
ConImage11 - Core.png
ConImageOri23.png
- ConImageOri2.png
- ConImageOri11.png
- ConImageOri132.png
并排除包含以下单词的文件名:喜欢、不喜欢、ForEng 等。
编辑:
我不擅长正则表达式,但尝试这样的事情来限制我的搜索。
^(ConImage|(Orig|!ForEng)){1}[0-9\ \-]+[\W(Dislikes|Likes)][0-9\ \-]+(Core\.png)$/i/g
或者,以下内容可用于查找必要的文件,但如果出现一些奇怪的名称,例如 ConImageMaxx12 - Core.png 等,它也会选择它。
^ConImage((?!ForEng|Dislikes|Likes).)*$
我不想实现 VBA.Filter 功能,但需要一个正则表达式解决方案。
非常感激任何的帮助。