경로와 와일드카드

Glob 패턴 테스터실제 라이브러리로 확인

패턴 하나와 한 줄에 하나씩 경로를 입력하세요. 아래에서 라이브러리와 매칭 옵션을 선택할 수 있습니다.

Glob 패턴 테스터

후보 경로

패턴과 경로는 이 브라우저에서 처리하며 파일을 읽거나 변경하지 않습니다.

경로별 결과

패턴과 후보 경로를 하나 이상 입력하세요.

매칭 옵션

Windows 구분자는 패턴과 경로의 \를 /로 바꿉니다. \를 이스케이프로 쓰려면 POSIX를 선택하세요. 대소문자는 별도 옵션입니다.

패턴 하나를 검사합니다. 빈 행은 건너뛰며 공백과 중복을 보존합니다. !와 #는 선택한 라이브러리의 규칙을 따릅니다.

제한: 패턴 256, 후보 200행, 경로당 512, 합계 131,072 UTF-16 코드 단위. minimatch 확장 1,000개, 실행 2초.

결과가 만료되었거나 계산 중입니다.

빌드에 엉뚱한 파일이 들어가거나 감시 대상에서 하위 폴더가 빠졌다면 패턴뿐 아니라 옵션도 확인해야 합니다. Glob 패턴 테스터는 같은 후보 목록을 유지하면서 엔진과 설정을 바꿀 수 있어, 결과가 달라지는 조건을 찾는 데 도움이 됩니다.

글로브 패턴을 실험할 때는 일치해야 하는 경로와 제외되어야 하는 경로를 함께 넣으세요. 와일드카드 모양이 같다고 모든 도구에서 파일 경로 매칭이 같지는 않습니다. 프로젝트가 쓰는 의존성과 옵션을 먼저 확인하면 불필요하게 패턴을 고치는 일을 줄일 수 있습니다.

Glob 패턴 테스터로 확인할 차이

폴더 깊이별 결과 확인

Glob 패턴 테스터는 후보마다 원래 행 번호를 표시합니다. src/*.ts와 src/**/*.ts를 번갈아 넣으면 바로 아래 파일과 중첩 폴더 파일의 차이를 볼 수 있습니다. 목록을 다시 정렬하지 않고도 어떤 경로에서 결과가 바뀌었는지 찾을 수 있습니다.

바로 아래 파일만 선택하는 모습과 중첩 폴더까지 선택하는 모습을 비교한 그림.

숨김 파일을 별도 조건으로 테스트

기본 예제에는 일반 파일과 점으로 시작하는 파일이 함께 있습니다. dot을 켜면 일반 파일 결과는 유지하면서 숨김 파일의 변화를 확인할 수 있습니다. 대소문자 무시는 별도 옵션이므로 대문자 확장자까지 함께 허용하지 않습니다.

같은 파일 목록에서 숨김 파일 옵션을 켠 뒤 점 표시 파일만 새로 일치하는 그림.

프로젝트 조건과 테스트 조건 맞추기

01

사용하는 의존성 선택

minimatch 10.2.6과 picomatch 4.0.7 중 선택합니다. 먼저 빌드 도구의 의존성과 호출 옵션을 확인하세요. 확장 문법까지 모든 구현이 같은 의미를 보장하지는 않습니다.

  • 앞의 !와 #는 선택한 라이브러리가 해석합니다.
02

경로 구분자와 대소문자 분리

POSIX에서는 /로 경로를 나누고 역슬래시 이스케이프를 유지합니다. Windows 구분자 모드는 패턴과 후보의 역슬래시를 /로 바꾸며 원본도 보고서에 남깁니다.

  • Windows 구분자를 선택해도 대소문자 무시가 자동으로 켜지지 않습니다.
03

갱신된 결과만 저장

자동 테스트는 입력이 멈춘 뒤 350ms 후 실행됩니다. 끄면 버튼이나 Ctrl/Cmd + Enter로 실행할 수 있습니다. 입력이나 설정이 바뀌면 이전 보고서 내보내기가 즉시 비활성화됩니다.

  • 처음에는 50행만 보이지만 JSON에는 전체 결과가 들어갑니다.

옵션과 결과를 함께 남기는 경로 검사

실제 매칭 엔진 선택

Glob 패턴 테스터는 선택한 패키지를 직접 호출합니다. 보고서에 버전, 패턴, 옵션, 원본과 검사에 사용한 경로를 기록하므로 대소문자나 구분자를 바꾼 실험 조건을 다시 확인할 수 있습니다.

문자 집합과 확장자 선택

?는 한 문자, [abc]는 문자 집합, **는 경로 재귀, {js,ts}는 확장자 대안을 표현합니다. @(foo|bar).js 같은 확장 glob도 라이브러리가 처리하며 별도의 자체 정규식 변환기로 대체하지 않습니다.

필요할 때 파일명만 검사

파일명 매칭을 켜면 /가 없는 *.js가 src/app.js에도 일치합니다. /를 포함한 패턴은 계속 경로를 검사합니다. 빌드 설정마다 확장자 필터의 적용 범위가 달라지는 문제를 확인할 때 유용합니다.

불일치 사례도 보고서에 포함

각 후보에 일치 또는 불일치를 표시하고 원래 행 번호를 유지합니다. 중복 경로도 각각 남겨두므로 반복 입력을 찾을 수 있습니다. JSON은 성공한 행만 추리지 않아, 필터가 잘못 포함하지 않아야 할 사례도 함께 검토할 수 있습니다.

검사 범위와 입력 제한

한 번에 하나의 패턴
패턴 안의 줄바꿈은 허용하지 않습니다. 쉼표를 여러 규칙으로 나누지 않으므로 중괄호 대안에 사용할 수 있습니다. 뒤 규칙 우선 처리나 Git의 상위 폴더 제외 규칙은 별도 Gitignore 도구에서 검사해야 합니다.
라이브러리 차이를 유지
minimatch는 기본적으로 앞의 #를 주석, !를 부정으로 처리합니다. picomatch는 #를 일반 문자로 보고 !(foo).js를 부정 확장 glob으로 해석할 수 있습니다. 숫자 범위의 중괄호 처리도 다를 수 있습니다.
구분자 변환은 명시적으로
Windows 모드에서는 모든 역슬래시가 /가 되어 동시에 이스케이프로 쓸 수 없습니다. 도구가 ..를 해석하거나 드라이브 이름을 지우지는 않습니다. 운영체제의 파일시스템을 모방하는 기능도 아닙니다.
공백과 중복을 그대로 보존
빈 행만 건너뛰고 앞뒤 공백은 경로 일부로 남깁니다. LF, CRLF, CR로 행을 구분하며 제어 문자나 잘못된 Unicode는 거부합니다. 이름 자체에 줄바꿈이 있는 파일은 이 입력 형식으로 표현할 수 없습니다.
일부 결과를 성공으로 내보내지 않음
패턴 256, 경로당 512, 입력 합계 131,072 UTF-16 코드 단위까지 허용합니다. 비어 있지 않은 후보는 200행, minimatch 중괄호 확장은 1,000개까지입니다. 계산이 2초를 넘으면 종료하고 내보내기를 비활성화합니다.
파일 존재 여부는 검사하지 않음
입력한 문자열만 비교하며 디렉터리를 스캔하거나 URL, 파일 내용을 읽지 않습니다. 닫히지 않은 [가 일반 문자로 허용될 수도 있습니다. 불일치 결과 자체가 패턴 문법 오류를 뜻하지는 않습니다.

Glob 패턴 테스터 질문

경로에서 *와 **는 어떻게 다른가요?

일반 별표는 한 경로 구간 안에서 동작합니다. 재귀 탐색을 표현하려면 src/**/*.ts처럼 **를 독립된 구간에 놓으세요. 파일명 안에 별표를 하나 더 쓰는 방식이 모든 라이브러리에서 재귀를 뜻하지는 않습니다.

중괄호로 여러 확장자를 지정할 수 있나요?

*.{js,ts}처럼 대안을 지정할 수 있습니다. minimatch는 file{01..12}.js 같은 숫자 범위도 펼칩니다. picomatch는 범위 동작이 다르므로 번호가 붙은 실제 후보로 경계를 확인하세요.

기본 설정은 대소문자를 구분하나요?

네. 대소문자 무시를 켜면 nocase가 적용되어 **/*.ts로 APP.TS도 검사할 수 있습니다. 이 변경은 숨김 파일을 포함하는 dot 옵션과 별개입니다.

중간 폴더가 없는데 src/**/*.ts가 왜 src/index.ts에 일치하나요?

독립 구간 **는 폴더가 없는 경우도 나타냅니다. 중간 폴더가 정확히 하나 필요하면 src/*/*.ts를 시험하세요. 바로 아래 파일과 중첩 파일을 함께 두면 원하는 깊이를 검증하기 쉽습니다.

점으로 시작하는 파일이 왜 일치하지 않나요?

두 엔진 모두 기본 dot 값이 false입니다. 숨김 파일 포함을 켜거나 패턴의 해당 위치에 점을 직접 쓰세요. 예를 들어 src/.hidden.ts를 그대로 지정하면 dot을 켜지 않아도 해당 경로를 검사할 수 있습니다.

추가로 확인할 경로 사례가 있나요?

경계 사례를 하나 더 추가

일치해야 하는 경로와 실패해야 하는 경로를 나란히 두고 설정을 하나씩 바꾼 뒤 현재 보고서를 저장하세요.