Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mercurial hg.忽略正则表达式-如何允许新的/mod';ed测试<;文件名>;。c显示,但不显示二进制测试;文件名>;?_Mercurial_Hgignore - Fatal编程技术网

Mercurial hg.忽略正则表达式-如何允许新的/mod';ed测试<;文件名>;。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) 然后显示状态为“?”的测试函数?测试函数' 我是一个中等程度的正则表达式人,但已经搜索了几个星期,但没有找到解决方案-我认

我有一组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 .
)