Expand POSIX bracket expressions (character classes) in glob patterns.
Install with npm:
$ npm install expand-brackets --save
var brackets = require('expand-brackets');
brackets('[![:lower:]]');
//=> '[^a-z]'
Return true if the given string matches the bracket expression:
brackets.isMatch('A', '[![:lower:]]');
//=> true
brackets.isMatch('a', '[![:lower:]]');
//=> false
Make a regular expression from a bracket expression:
brackets.makeRe('[![:lower:]]');
//=> /[^a-z]/
The following named POSIX bracket expressions are supported:
[:alnum:]
: Alphanumeric characters (a-zA-Z0-9]
)[:alpha:]
: Alphabetic characters (a-zA-Z]
)[:blank:]
: Space and tab ([ t]
)[:digit:]
: Digits ([0-9]
)[:lower:]
: Lowercase letters ([a-z]
)[:punct:]
: Punctuation and symbols. ([!"#$%&'()*+, -./:;<=>?@ [\]^_
{|}~]
)[:upper:]
: Uppercase letters ([A-Z]
)[:word:]
: Word characters (letters, numbers and underscores) ([A-Za-z0-9_]
)[:xdigit:]
: Hexadecimal digits ([A-Fa-f0-9]
)Collating sequences are not supported.
You might also be interested in these projects:
extglob: Convert extended globs to regex-compatible strings. Add (almost) the expressive power of regular expressions to… more | homepage |
is-extglob: Returns true if a string has an extglob. | homepage |
is-glob: Returns true if the given string looks like a glob pattern or an extglob pattern.… more |
homepage |
is-posix-bracket: Returns true if the given string is a POSIX bracket expression (POSIX character class). | homepage |
micromatch: Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch. Just… more | homepage |
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Generate readme and API documentation with verb:
$ npm install verb && npm run docs
Or, if verb is installed globally:
$ verb
Install dev dependencies:
$ npm install -d && npm test
Jon Schlinkert
verb © 2016, Jon Schlinkert. Released under the MIT license.
This file was generated by verb, v, on April 01, 2016.