我试图使用regex来匹配包含.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不跟在/后面。
发布于 2019-04-08 22:19:29
您可以使用以下正则表达式:
^(?:\/[^\/\s]+)+Trash[^\/]*$演示:https://regex101.com/r/lRp4lF/3/
/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发布于 2019-04-09 07:04:48
你可以从中得到一些想法。
**(.*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 -> goodhttps://stackoverflow.com/questions/55578811
复制相似问题