What is is-extglob?
The is-extglob npm package is used to check if a string has an extglob pattern. Extglob patterns are extensions to the basic glob patterns, allowing for more expressive matches. This package is particularly useful in applications that need to parse, interpret, or validate file paths and patterns for more complex matching criteria than simple wildcard matches.
What are is-extglob's main functionalities?
Check if a string is an extglob pattern
This feature allows you to check if a given string is an extglob pattern. The function returns true if the string is an extglob pattern, otherwise false. This is useful for validating or parsing strings that are expected to be in extglob format.
"const isExtglob = require('is-extglob');\nconsole.log(isExtglob('!(pattern)')); // true\nconsole.log(isExtglob('pattern')); // false"
Other packages similar to is-extglob
micromatch
Micromatch is a more comprehensive glob matching library that supports extglobs, braces, and other complex patterns. It is similar to is-extglob in that it can recognize extglob patterns, but it also provides a wide range of additional features for matching, filtering, and working with glob patterns. Compared to is-extglob, micromatch offers a broader set of functionalities for dealing with glob patterns.
extglob
Extglob is closely related to is-extglob, as it not only allows checking for extglob patterns but also provides functions to convert extglob strings into regex patterns. This package is more about utilizing extglob patterns rather than just identifying them. It complements is-extglob by offering a way to work with the patterns identified by is-extglob.
is-extglob
Returns true if a string has an extglob.
Install
Install with npm:
$ npm install --save is-extglob
Usage
var isExtglob = require('is-extglob');
True
isExtglob('?(abc)');
isExtglob('@(abc)');
isExtglob('!(abc)');
isExtglob('*(abc)');
isExtglob('+(abc)');
False
Escaped extglobs:
isExtglob('\\?(abc)');
isExtglob('\\@(abc)');
isExtglob('\\!(abc)');
isExtglob('\\*(abc)');
isExtglob('\\+(abc)');
Everything else...
isExtglob('foo.js');
isExtglob('!foo.js');
isExtglob('*.js');
isExtglob('**/abc.js');
isExtglob('abc/*.js');
isExtglob('abc/(aaa|bbb).js');
isExtglob('abc/[a-z].js');
isExtglob('abc/{a,b}.js');
isExtglob('abc/?.js');
isExtglob('abc.js');
isExtglob('abc/def/ghi.js');
History
v2.0
Adds support for escaping. Escaped exglobs no longer return true.
About
Related projects
- has-glob: Returns
true
if an array has a glob pattern. | homepage - is-glob: Returns
true
if the given string looks like a glob pattern or an extglob pattern… more | homepage - micromatch: Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch. | homepage
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Building docs
(This document was generated by verb-generate-readme (a verb generator), please don't edit the readme directly. Any changes to the readme must be made in .verb.md.)
To generate the readme and API documentation with verb:
$ npm install -g verb verb-generate-readme && verb
Running tests
Install dev dependencies:
$ npm install -d && npm test
Author
Jon Schlinkert
License
Copyright © 2016, Jon Schlinkert.
Released under the MIT license.
This file was generated by verb-generate-readme, v0.1.31, on October 12, 2016.