Skip to main content
net10.0net11.0

A globbing library for .NET. Can be used to match any string or with System.IO.Enumeration.

Published
Sep 3, 2026
1mo ago
Total Downloads
103.8K
103,812

Install

dotnet add package Meziantou.Framework.Globbing --version 5.0.2
ProductVersions
.NET
net10.0net11.0

README

Meziantou.Framework.Globbing

Supported glob features

  • * matches any number of characters including none
  • ? matches a single character
  • [abc] matches one character given in the bracket
  • [!abc] matches any character not in the brackets
  • [a-z] matches one character from the range given in the bracket
  • [!a-z] matches one character not in the range given in the bracket
  • {abc,123} matches one of the literals
  • ** matches zero or more directories

Usage

Install the NuGet package Meziantou.Framework.Globbing (NuGet)

dotnet package add Meziantou.Framework.Globbing
  • IsMatch tests whether a file matches the glob pattern

    Glob glob = Glob.Parse("src/**/*.txt", GlobDialect.Standard, GlobOptions.IgnoreCase);
    glob.IsMatch("src/abc.txt");
    
  • Enumerate files that match a glob pattern

    // Enumerate files that match the glob in the folder rootDirectory
    Glob glob = Glob.Parse("src/**/*.txt", GlobDialect.Standard);
    foreach(var file in glob.EnumerateFiles("rootDirectory"))
    {
        Console.WriteLine(file);
    }
    

Addition resources

Changes from Previous Version

No structural changes between v5.0.1 and v5.0.2.

Adoption Assessment

A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.

Compatibility metadata lists 2 target frameworks; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.