You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3.7 KiB

expand-brackets NPM version NPM downloads Build Status

Expand POSIX bracket expressions (character classes) in glob patterns.

Install

Install with npm:

$ npm install expand-brackets --save

Usage

var brackets = require('expand-brackets');

brackets('[![:lower:]]');
//=> '[^a-z]'

.isMatch

Return true if the given string matches the bracket expression:

brackets.isMatch('A', '[![:lower:]]');
//=> true

brackets.isMatch('a', '[![:lower:]]');
//=> false

.makeRe

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

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Building docs

Generate readme and API documentation with verb:

$ npm install verb && npm run docs

Or, if verb is installed globally:

$ verb

Running tests

Install dev dependencies:

$ npm install -d && npm test

Author

Jon Schlinkert

License

verb © 2016, Jon Schlinkert. Released under the MIT license.


This file was generated by verb, v, on April 01, 2016.