Vad är glob-mönster?

Glob-mönster är jokertecken‑matchningsmönster som används för att specificera uppsättningar av filnamn eller sökvägar. De har sitt ursprung i Unix‑skal men används idag i många programmeringsspråk och verktyg. Vanliga jokertecken inkluderar * (matchar alla tecken), ** (matchar kataloger rekursivt), ? (matchar ett enskilt tecken) och [abc] (matchar vilket tecken som helst i hakparenteserna). Dessa mönster är viktiga för filoperationer, byggverktyg och versionshanteringssystem som Git.

Hur fungerar glob-mönster?

Glob-mönster använder speciella jokertecken för att matcha filsökvägar. Här är de vanligaste mönstren:

  • * – Matchar ett godtyckligt antal tecken inom en enskild katalognivå
    • Exempel: *.js matchar file.js, test.js men inte folder/file.js
  • ****** – Matchar ett godtyckligt antal kataloger (rekursiv matchning)
    • Exempel: **/*.js matchar file.js, src/file.js, src/utils/file.js
  • ? – Matchar exakt ett tecken
    • Exempel: file?.js matchar file1.js, fileA.js men inte file10.js
  • [abc] – Matchar vilket enskilt tecken som helst från mängden
    • Exempel: file[123].js matchar file1.js, file2.js, file3.js
  • [a-z] – Matchar vilket tecken som helst i intervallet
    • Exempel: [A-Z]*.js matchar filer som börjar med versala bokstäver
  • {js,ts} – Matchar någon av de kommaseparerade mönstren (klammerutvidgning)
    • Exempel: *.{js,ts} matchar file.js och file.ts
  • !pattern – Negerar mönstret (exkluderar matchande filer)
    • Exempel: !*.test.js exkluderar alla testfiler

Praktiska exempel:

  • src/**/*.{js,ts} – Alla JavaScript‑ och TypeScript‑filer i src‑katalogen och underkataloger
  • lib/**/test/*.js – Alla JavaScript‑filer i test‑mappar inom lib
  • **/*.min.js – Alla minifierade JavaScript‑filer var som helst i projektet
  • !node_modules/** – Exkludera allt i node_modules‑katalogen

Verktygsbeskrivning

Ett online‑verktyg för att testa och validera glob‑mönster mot filsökvägar i realtid. Denna glob‑mönsterkontroll använder picomatch‑biblioteket för att leverera exakt mönstermatchning, vilket gör det möjligt för utvecklare att snabbt testa sina glob‑uttryck innan de implementeras i konfigurationsfiler, skript eller applikationer. Gränssnittet för glob‑syntax‑testaren ger omedelbar återkoppling om vilka sökvägar som matchar ditt mönster, och hjälper dig att finjustera och perfektionera dina glob‑uttryck med detta intuitiva verktyg.

Funktioner

  • Matchning i realtid: Se omedelbart vilka sökvägar som matchar ditt glob‑mönster medan du skriver med detta online‑verktyg
  • Testning av flera sökvägar: Testa glob‑mönster mot flera filsökvägar samtidigt
  • Mönsteralternativ: Konfigurera skiftlägeskänslighet och hur dolda filer (dotfiles) matchas i glob‑mönsterkontrollen
  • Visuell återkoppling: Tydlig indikation på matchande och icke‑matchande sökvägar med färgkodade märken
  • Tabellresultat: Organiserad visning av testresultat i ett rent, sorteringsbart tabellformat
  • Felhantering: Omedelbar återkoppling vid ogiltig glob‑syntax med felmeddelanden
  • Matchningsstatistik: Sammanfattning som visar antalet matchningar av det totala antalet testade sökvägar

Användningsområden

  • Byggkonfiguration: Testa glob‑mönster för byggverktyg som Webpack, Vite eller Rollup innan de läggs till i konfigurationen
  • Git‑ignore‑mönster: Validera .gitignore‑mönster med detta glob‑mönsterverktyg för att säkerställa att de matchar avsedda filer
  • Filbearbetningsskript: Verifiera glob‑uttryck för filval i Node.js‑skript eller automatiseringsverktyg
  • Testfilval: Använd glob‑syntax‑testaren för att konfigurera test‑runners (Jest, Mocha) så att rätt testfiler väljs
  • ESLint och Prettier: Testa filmönster med detta glob‑uttryckverktyg för konfiguration av linter och formatter
  • Dokumentation: Verifiera glob‑mönster för dokumentationsgeneratorer och filprocessorer
  • CI/CD‑pipelines: Testa sökvägsmatchningsmönster för kontinuerliga integrationsarbetsflöden med detta online‑verktyg
  • Lära sig glob‑syntax: Experimentera med glob‑mönster i detta glob‑mönsterverktyg för att förstå deras beteende