npm install globrex --save
- extended globbing: transform advance
ExtGlob
features - simple: no dependencies
- paths: split paths into multiple
RegExp
segments
const globrex = require('globrex');
const result = globrex('p*uck')
// => { regex: /^p.*uck$/, string: '^p.*uck$', segments: [ /^p.*uck$/ ] }
result.regex.test('pluck'); // true
Type: function
Returns: { regex, string, segments }
Transform globs intp regular expressions. Returns object with the following properties:
Type: RegExp
JavaScript RegExp
instance.
Note: Read more about how to use RegExp on MDN.
Type: String
Regex string representation of the glob.
Type: Array
Array of RegExp
instances seperated by /
.
This can be usable when working with paths or urls.
Example array could be:
[ /^foo$/, /^bar$/, /^([^\/]*)$/, '^baz\\.(md|js|txt)$' ]
Note: This only makes sense for POSIX paths like /foo/bar/hello.js or URLs. Not globbing on regular strings.
Type: String
Glob string to transform.
Type: Boolean
Default: false
Enable all advanced features from extglob
.
Matching so called "extended" globs pattern like single character matching, matching ranges of characters, group matching, etc.
Note: Interprets
[a-d]
as[abcd]
. To match a literal-
, include it as first or last character.
Type: Boolean
Default: false
When globstar is false
globs like '/foo/*'
are transformed to the following
'^\/foo\/.*$'
which will match any string beginning with '/foo/'
.
When the globstar option is true
, the same '/foo/*'
glob is transformed to
'^\/foo\/[^/]*$'
which will match any string beginning with '/foo/'
that does not have a '/'
to the right of it. '/foo/*'
will match: '/foo/bar'
, '/foo/bar.txt'
but not '/foo/bar/baz'
or '/foo/bar/baz.txt'
.
Note: When globstar is
true
,'/foo/**'
is equivelant to'/foo/*'
when globstar isfalse
.
Type: Boolean
Default: false
Be forgiving about mutiple slashes, like ///
and make everything after the first /
optional. This is how bash glob works.
Type: String
Default: ''
RegExp flags (e.g. 'i'
) to pass to the RegExp constructor.
Type: Boolean
Default: System OS
Split segment as a windows path, otherwise splut as unix. Defaults to the OS running the package.
Learn more about advanced globbing here
MIT © Terkel Gjervig