난 항상 Nant의 이름 지정 패턴 (예 : 파일 세트에 사용 된 패턴)의 구문 적 인트라 캐시를 잊어 버렸다는 것을 인정해야합니다. 이중 별표 / 단일 별표 항목은 내 마음에서 매우 잊을 수있는 것 같습니다.
누군가 이름 지정 패턴에 대한 확실한 가이드를 제공 할 수 있습니까?
답변
규칙은 다음과 같습니다.
- 단일 별표 (*) 는 경로 이름 내의 0 개 이상의 문자와 일치합니다.
- 이중 별표 (**)는 디렉토리 수준에서 0 개 이상의 문자와 일치 합니다.
- 물음표 (?)는 경로 이름에서 정확히 한 문자와 일치합니다.
그것에 대해 생각하는 또 다른 방법은 이중 별표 (**)는 슬래시 (/)와 일치하지만 단일 별표 (*)는 일치하지 않습니다.
파일이 있다고 가정 해 보겠습니다.
- bar.txt
- src / bar.c
- src / baz.c
- src / test / bartest.c
그런 다음 패턴 :
*.c
아무것도 일치하지 않음 (현재 디렉토리에 .c 파일이 없음)src/*.c
2와 3과 일치*/*.c
2 및 3과 일치 (*는 한 수준 만 일치하므로)**/*.c
2, 3 및 4와 일치 (**는 모든 수준의 수준과 일치하기 때문에)bar.*
일치 1**/bar.*
1과 2와 일치**/bar*.*
1, 2 및 4와 일치src/ba?.c
2와 3과 일치
답변
다음은 문서에서 명확하지 않은 몇 가지 추가 패턴 일치입니다. benzado의 답변에있는 예제 파일에 대해 NAnt를 사용하여 테스트했습니다.
src**
2, 3 및 4와 일치**.c
2, 3, 4와 일치**ar.*
1과 2와 일치**/bartest.c/**
4와 일치src/ba?.c/**
2와 3과 일치
답변
이중 별표 ( **
)는 폴더 이름 일치와 연관되는 반면 단일 기호 별표 ( * = multi characters
)와 물음표 ( ? = single character
)는 파일 이름을 일치시키는 데 사용됩니다.
답변
Nant 참조를 확인하십시오 . 파일 세트 패턴은 다음과 같습니다.
‘*’는 0 개 이상의 문자와 일치합니다. 예 : * .cs
‘?’ 한 문자와 일치합니다 (예 😕 .cs).
그리고 ‘**’는 디렉토리 트리와 일치합니다. 예를 들어 src / ** / *. cs는 src의 하위 디렉토리에서 모든 cs 파일을 찾습니다.