regex - Mercurial .hgignore 正则表达式

标签 regex mercurial hgignore

使用 Mercurial,我需要忽略除目录“tests”和“languages”以及这些目录中的文件之外的所有文件和目录。这一切都必须用正则表达式和 .hgignoere 来完成

文件:

  • 测试\垃圾.txt
  • cms\tests\some_file.txt
  • cms\语言\用户\lang.txt
  • 语言\lang2.txt
  • 测试.txt
  • proba/tests.txt

  • 我试过这个:
    ^(?!test|test/|test$|languages|languages/|languages$)
    

    但这仅匹配以 test 和 language 开头的文件:
  • 测试\垃圾.txt
  • 语言\lang2.txt

  • 我想要的也是匹配
  • cms\tests\some_file.txt
  • cms\语言\用户\lang.txt

  • 任何意见,将不胜感激。

    最佳答案

    这不是您要寻找的答案,但几乎没有人使用负宽度前瞻?: .hgignore 文件中的语法。如果他们只想忽略所有文件的一小部分,他们通常会忽略所有内容,然后 hg add异常(exception)情况——请记住,在 mercurial 中(与 cvs/svn 不同)添加文件覆盖忽略。

    所以如果你的 .hgignore 你有:

    .*
    

    然后你会hg add您的测试和语言目录中的文件显式使用“hg add”。你这样做,当然必须记住添加任何新文件,因为一切都将被忽略,但如果大多数文件应该被忽略,它仍然是更简单的方法。

    关于regex - Mercurial .hgignore 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3246700/

    相关文章:

    regex - Mercurial .hgignore 沮丧

    mercurial - 覆盖全局忽略?

    c# - 正则表达式检查单词是否由某些单词继承

    javascript - JS : regex pattern "? OR end of string"

    python - 如何循环正则表达式 re.match 来查找无效的用户输入?

    svn - 将 CM Synergy 存档转换为免费的源代码控制

    regex - 在 Linux 命令行上使用正则表达式查找文件夹后的文件

    mercurial - 如何在共享主机上设置 Mercurial 中央存储库

    mercurial - 如何列出按提交次数(提交计数)排序的提交者?

    mercurial - 如何使 hg 忽略过滤器不区分大小写