Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A C# Glob library for .NET and .NET Core.

License

NotificationsYou must be signed in to change notification settings

kthompson/glob

Repository files navigation

Join the chat at https://gitter.im/kthompson/globBuild statusCoverageTestsNuget

A C# Glob library for .NET.

What is a glob?

A glob is a pattern-matching syntax that shells use. Like when you dorm *.cs, the*.cs is a glob.

See:http://en.wikipedia.org/wiki/Glob_(programming) for more info.

Try it out!

You can test out Glob expressions using this library in your browser by visiting:

https://kthompson.github.io/glob/

image

Supported Environments

  • Windows
  • Macintosh OS X (Darwin)
  • Linux

Features

Common Expressions

PatternDescription
taco*matches any string beginning with taco
*taco*matches any string containing taco
*tacomatches any string ending in taco
*.[ch]matches any string ending in.c or.h
*.{gif,jpg}match any string ending in.gif or.jpg

Expressions

PatternDescription
*matches any number of characters including none, excluding directory separator
?matches a single character
[abc]matches one character in the brackets
[!abc]matches any character not in the brackets
**match zero or more directories
{abc,123}comma delimited set of literals, matched 'abc' or '123'

Other Features

  • Escape patterns are supported using\
  • Pure C# implementation
  • No reliance on Regex
  • Simple text string matching support
  • File system matching APIs

Getting Started

Installing from NuGet

dotnet add package Glob

Setup

To use Glob, you need to include the namespace:

usingGlobExpressions;

Example

varglob=newGlob("**/bin");varmatch=glob.IsMatch(@"C:\files\bin\");

Static Usage

Single file

varmatch=Glob.IsMatch(@"C:\files\bin\","**/bin");

Files in a directory

string[]matchingFiles=Glob.Files(@"C:\files\bin\","**/bin").ToArray();

Directories in a directory

string[]matchingDirectories=Glob.Directories(@"C:\files\bin\","**/bin").ToArray();

Extension Methods

DirectoryInfo.GlobDirectories

Enumerate through all matching directories recursively.

Params

  • pattern: String

Example

varroot=newDirectoryInfo(@"C:\");varallBinFolders=root.GlobDirectories("**/bin");

DirectoryInfo.GlobFiles

Enumerate through all matching files recursively.

Params

  • pattern: String

Example

varroot=newDirectoryInfo(@"C:\");varallDllFiles=root.GlobFiles("**/*.dll");

DirectoryInfo.GlobFileSystemInfos

Enumerate through all matching files and folders recursively.

Params

  • pattern: String

Example

varroot=newDirectoryInfo(@"C:\");varallInfoFilesAndFolders=root.GlobFileSystemInfos("**/*info");

Upgrading from 1.x

In 2.x all Glob expressions no longer support\ as path separators. Instead/ should be used to separate paths in expressions.The/ path separator will still match on platform specific directory separators but\ is reserved for escape sequences.

Performance

See benchmarks

About

A C# Glob library for .NET and .NET Core.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors10


[8]ページ先頭

©2009-2025 Movatter.jp