- Notifications
You must be signed in to change notification settings - Fork23
A C# Glob library for .NET and .NET Core.
License
kthompson/glob
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A C# Glob library for .NET.
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.
You can test out Glob expressions using this library in your browser by visiting:
https://kthompson.github.io/glob/
- Windows
- Macintosh OS X (Darwin)
- Linux
Pattern | Description |
---|---|
taco* | matches any string beginning with taco |
*taco* | matches any string containing taco |
*taco | matches any string ending in taco |
*.[ch] | matches any string ending in.c or.h |
*.{gif,jpg} | match any string ending in.gif or.jpg |
Pattern | Description |
---|---|
* | 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' |
- Escape patterns are supported using
\
- Pure C# implementation
- No reliance on Regex
- Simple text string matching support
- File system matching APIs
dotnet add package Glob
To use Glob, you need to include the namespace:
usingGlobExpressions;
varglob=newGlob("**/bin");varmatch=glob.IsMatch(@"C:\files\bin\");
varmatch=Glob.IsMatch(@"C:\files\bin\","**/bin");
string[]matchingFiles=Glob.Files(@"C:\files\bin\","**/bin").ToArray();
string[]matchingDirectories=Glob.Directories(@"C:\files\bin\","**/bin").ToArray();
Enumerate through all matching directories recursively.
- pattern: String
varroot=newDirectoryInfo(@"C:\");varallBinFolders=root.GlobDirectories("**/bin");
Enumerate through all matching files recursively.
- pattern: String
varroot=newDirectoryInfo(@"C:\");varallDllFiles=root.GlobFiles("**/*.dll");
Enumerate through all matching files and folders recursively.
- pattern: String
varroot=newDirectoryInfo(@"C:\");varallInfoFilesAndFolders=root.GlobFileSystemInfos("**/*info");
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.
About
A C# Glob library for .NET and .NET Core.
Topics
Resources
License
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Contributors10
Uh oh!
There was an error while loading.Please reload this page.