Mercurial hg.忽略正则表达式-如何允许新的/mod';ed测试<;文件名>;。c显示,但不显示二进制测试;文件名>;?
我有一组C语言的单元测试。它们的形式是:Mercurial hg.忽略正则表达式-如何允许新的/mod';ed测试<;文件名>;。c显示,但不显示二进制测试;文件名>;?,mercurial,hgignore,Mercurial,Hgignore,我有一组C语言的单元测试。它们的形式是:test\uuu.C,编译时它们是test\uu 我试图在显示hg status时显示新的*.C文件,但要抑制任何二进制文件(test) 我现在得到的是: src/project/test/.+/test_.+[^\.][^c]$ 除了一种情况外,这种方法工作正常:以c结尾(即test\u func,来自test\u func.c) 然后显示状态为“?”的测试函数?测试函数' 我是一个中等程度的正则表达式人,但已经搜索了几个星期,但没有找到解决方案-我认
test\uuu.C
,编译时它们是test\uu
我试图在显示hg status
时显示新的*.C
文件,但要抑制任何二进制文件(test
)
我现在得到的是:
src/project/test/.+/test_.+[^\.][^c]$
除了一种情况外,这种方法工作正常:
以c
结尾(即test\u func
,来自test\u func.c
)
然后显示状态为“?”的测试函数?测试函数'
我是一个中等程度的正则表达式人,但已经搜索了几个星期,但没有找到解决方案-我认为这很容易,一旦我看到它。这有点毛茸茸的,但它似乎有效,使用(这是
(?部分):
src/project/test/+//test.+([^c]|)(?
要展开我更改的部分-即,([^c]|)(?:
(
[^c]//最后一个字符可以是c以外的任何字符
|//或者,如果是c
(?
负数lookback中的额外\
(c
前面没有
)需要转义
,否则意味着“任何字符”。这有点毛茸茸的,但它似乎可以工作,使用一个(这就是(?部分):
src/project/test/+//test.+([^c]|)(?
要展开我更改的部分-即,([^c]|)(?:
(
[^c]//最后一个字符可以是c以外的任何字符
|//或者,如果是c
(?
需要负回溯中的额外\
(c
前面没有
)来转义
,否则表示“任何字符”
src/project/test/.+/test.+([^c]|(?<!\.)c)$
(
[^c] // the last character can be anything other than c
| // or, if it is c
(?<!\.)c // it cannot be preceded by .
)