使用Mercurial,我需要忽略除了名为“keepers”的特定目录中的文件之外的所有文件。
表面上看,这似乎可以通过使用Regex和Negative Lookahead简单实现;然而,尽管我能够在Regex Buddy和其他工具中验证我的正则表达式,在TortoiseHg中,它却不能按预期工作。
文件:
- junk\junk.txt
- junk\text
- keepers\test\test
- keepers\test\test2\hi.txt
- keepersblah.txt
只有位于keepers目录下的两个文件不应被忽略。
这是我希望起作用的正则表达式:
^(?!keepers/).+$
遗憾的是,这会导致所有文件都被忽略。如果我将其更改为:
^(?!keepers).+$
它按照你预期的方式工作。也就是说,它会忽略任何不以“keepers”开头的文件/文件夹。但我确实想要忽略那些以“keepers”开头的文件。
奇怪的是,如果我将其更改为以下内容:
^(?!keepers/).+\..+$
它将正确匹配文件夹,但是如果没有扩展名,则不会忽略不在"keepers"文件夹中的文件。
任何建议都将不胜感激。
移除已失效的ImageShack链接。
^(?!keepers\b)
,但它无法匹配"keepers.txt"。 - eswald^(?!keepers(/|$)).*
- Tomalak