Was sind Glob-Muster?

Glob-Muster sind Platzhalter-Muster, die verwendet werden, um Sätze von Dateinamen oder Pfaden anzugeben. Sie entstanden in Unix-Shells, werden aber jetzt in Programmiersprachen und Tools verwendet. Häufige Platzhalter sind * (passt auf beliebige Zeichen), ** (passt rekursiv auf Verzeichnisse), ? (passt auf ein einzelnes Zeichen) und [abc] (passt auf jedes Zeichen in Klammern). Diese Muster sind unverzichtbar für Dateioperationen, Build-Tools und Versionskontrollsysteme wie Git.

Wie funktionieren Glob-Muster?

Glob-Muster verwenden spezielle Platzhalterzeichen, um Dateipfade abzugleichen. Hier sind die häufigsten Muster:

  • * - Passt auf beliebig viele Zeichen innerhalb einer einzelnen Verzeichnisebene
    • Beispiel: *.js passt auf file.js, test.js, aber nicht auf folder/file.js
  • ****** - Passt auf beliebig viele Verzeichnisse (rekursives Matching)
    • Beispiel: **/*.js passt auf file.js, src/file.js, src/utils/file.js
  • ? - Passt auf genau ein Zeichen
    • Beispiel: file?.js passt auf file1.js, fileA.js, aber nicht auf file10.js
  • [abc] - Passt auf ein einzelnes Zeichen aus dem Set
    • Beispiel: file[123].js passt auf file1.js, file2.js, file3.js
  • [a-z] - Passt auf jedes Zeichen im Bereich
    • Beispiel: [A-Z]*.js passt auf Dateien, die mit Großbuchstaben beginnen
  • {js,ts} - Passt auf eines der durch Komma getrennten Muster (Klammer-Expansion)
    • Beispiel: *.{js,ts} passt auf file.js und file.ts
  • !pattern - Negiert das Muster (schließt übereinstimmende Dateien aus)
    • Beispiel: !*.test.js schließt alle Testdateien aus

Praktische Beispiele:

  • src/**/*.{js,ts} - Alle JavaScript- und TypeScript-Dateien im src-Verzeichnis und Unterverzeichnissen
  • lib/**/test/*.js - Alle JavaScript-Dateien in test-Ordnern innerhalb von lib
  • **/*.min.js - Alle minimierten JavaScript-Dateien überall im Projekt
  • !node_modules/** - Alles im node_modules-Verzeichnis ausschließen

Tool-Beschreibung

Ein spezialisiertes Tool zum Testen und Validieren von Glob-Mustern gegen Dateipfade in Echtzeit. Das Tool verwendet die picomatch-Bibliothek, um präzises Muster-Matching zu ermöglichen, sodass Entwickler ihre Glob-Muster schnell testen können, bevor sie sie in Konfigurationsdateien, Skripten oder Anwendungen implementieren. Die Benutzeroberfläche bietet sofortiges Feedback darüber, welche Pfade mit Ihrem Muster übereinstimmen, und hilft Ihnen, Ihre Glob-Ausdrücke zu verfeinern und zu perfektionieren.

Funktionen

  • Echtzeit-Muster-Matching: Sehen Sie sofort, welche Pfade mit Ihrem Glob-Muster übereinstimmen, während Sie tippen
  • Mehrpfad-Test: Testen Sie Muster gleichzeitig gegen mehrere Dateipfade
  • Muster-Optionen: Konfigurieren Sie Groß-/Kleinschreibung und Verhalten beim Abgleich versteckter Dateien
  • Visuelles Feedback: Klare Anzeige übereinstimmender und nicht übereinstimmender Pfade mit farbcodierten Badges
  • Tabellarische Ergebnisse: Organisierte Anzeige von Testergebnissen in einer übersichtlichen Tabelle
  • Fehlerbehandlung: Sofortiges Feedback zu ungültigen Mustern mit Fehlermeldungen
  • Match-Statistiken: Zusammenfassung mit der Anzahl der Übereinstimmungen von den insgesamt getesteten Pfaden

Anwendungsfälle

  • Build-Konfiguration: Testen Sie Glob-Muster für Build-Tools wie Webpack, Vite oder Rollup, bevor Sie sie zur Config hinzufügen
  • Git Ignore-Muster: Validieren Sie .gitignore-Muster, um sicherzustellen, dass sie auf die beabsichtigten Dateien passen
  • Dateiverarbeitungs-Skripte: Überprüfen Sie Muster für die Dateiauswahl in Node.js-Skripten oder Automatisierungs-Tools
  • Testdatei-Auswahl: Konfigurieren Sie Test-Runner (Jest, Mocha), um die richtigen Testdateien auszuwählen
  • ESLint und Prettier: Testen Sie Dateimuster für Linter- und Formatter-Konfiguration
  • Dokumentation: Überprüfen Sie Muster für Dokumentationsgeneratoren und Dateiprozessoren
  • CI/CD-Pipelines: Testen Sie Pfad-Matching-Muster für Continuous-Integration-Workflows
  • Glob-Syntax lernen: Experimentieren Sie mit Glob-Mustern, um ihr Verhalten zu verstehen