正则表达式匹配某些子文件夹并忽略其子文件夹

问题描述 投票:1回答:2

我正在尝试使用正则表达式来匹配包含.Trash文件的所有文件夹,但是当我们找到一个带有.Trash的某个图层子文件夹时,我不想匹配。

我使用的是/[^/]+/*.Trash,但它也匹配.Trash的子目录。 如何忽略子文件夹?

例如:

/a/b/.Trash+other words -> good
/a/b/.Trash  -> good
/a/b/.blahTrash -> good
/a/.Trash -> good
/a/b/.Trash/c/d -> bad, because we already found /a/b/.Trash

因为.Trash也可以跟随其他字符或数字,所以我不能使用.Trash,而不是/

regex hive regex-group
2个回答
0
投票

您可以使用以下正则表达式:

^(?:\/[^\/\s]+)+Trash[^\/]*$

但是:ぁzxswい

https://regex101.com/r/lRp4lF/3/

0
投票

你可以从中得到一些想法。

/a/b/.Trash -> good
/a/b/.Trash+other words -> good
/a/b/.Trash  -> good
/a/b/.blahTrash -> good
/a/.Trash -> good
/a/b/.Trash/c/d -> bad

**(.*trash[^\/]+)** Match 1 1. /a/b/.Trash+other words -> good Match 2 1. /a/b/.Trash -> good Match 3 1. /a/b/.blahTrash -> good Match 4 1. /a/.Trash -> good

© www.soinside.com 2019 - 2024. All rights reserved.