如何使用最优正则表达式将指定zip压缩包分为三个独立列表
匹配规则说明
针对你提供的6个待分类文件,以下是三类列表对应的最优正则,均采用首尾锚定规则,无冗余匹配,不会出现跨类别误命中的情况:
1. Filtered列表匹配正则
- 正则表达式:
^scTest_model\d+\.zip$ - 匹配逻辑:锚定文件名字符串首尾,仅匹配前缀为
scTest_model、后缀为.zip、中间带数字序号的文件,刚好匹配你需要的2个filtered类文件,不会命中带unfiltred标识的同前缀文件。
2. Unfiltered列表匹配正则
- 正则表达式:
^scTest_unfiltred_model\d+\.zip$ - 匹配逻辑:锚定文件名字符串首尾,仅匹配前缀为
scTest_unfiltred_model、后缀为.zip、中间带数字序号的文件,精准匹配2个unfiltered类文件。
3. STR列表匹配正则
- 正则表达式:
^scStr_model\d+\.zip$ - 匹配逻辑:锚定文件名字符串首尾,仅匹配前缀为
scStr_model、后缀为.zip、中间带数字序号的文件,精准匹配2个STR类文件。
如果你需要用单条正则一次性完成三类文件的分组捕获,可使用带命名捕获组的正则:^(?P<filtered>scTest_model\d+\.zip)|(?P<unfiltered>scTest_unfiltred_model\d+\.zip)|(?P<str>scStr_model\d+\.zip)$
使用时直接读取对应命名分组的匹配结果即可完成分类。
内容的提问来源于stack exchange,提问作者Shubham Sharma
相关产品推荐
相关产品推荐

