如何使用正则表达式为特定扩展选择文件路径

时间:2016-11-24 15:00:25

标签: python regex conditional

你能帮我解决以下正则表达式问题(对于Python环境)吗?

a string = hfhfdgdx:\sdfsdfs\Pending\1\sfsdf\sdfsd\eewrwe.movRTrdgdgdgdfx:\sdfsdfs\Pending\2\sfsdf\sdfsd\eewrwe.3gpGFDSDSx:\sdfsdfs\Pending\3\sfsdf\sdfsd\eewrwe.m2etdfgdf

regex pattern = \\Pending(.*?\\)*(?=.*m2et)

使用"\Pending"开始选择,在m2et扩展名的最后"\"之前选择所有内容。但它从第一个"'\"开始,到m2et "\"的最后(\Pending\1\sfsdf\sdfsd\eewrwe.movRTrdgdgdgdfx:\sdfsdfs\Pending\2\sfsdf\sdfsd\eewrwe.3gpGFDSDSx:\sdfsdfs\Pending\3\sfsdf\sdfsd\).结束 我想只选择m2et (\Pending\3\sfsdf\sdfsd\)

的路径

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

(\\Pending\\(?:(?!\bPending\b).)*\\)(?=[^\\]*m2et)

你必须在预测中否定Pending

参见演示。

https://regex101.com/r/ota4md/2