No Packages, Mate

    extglob

    0.3.2 • Public • Published

    extglob NPM version Build Status

    Convert extended globs to regex-compatible strings. Add (almost) the expressive power of regular expressions to glob patterns.

    Install with npm

    $ npm i extglob --save

    Used by micromatch.

    Features

    • Convert an extglob string to a regex-compatible string. Only converts extglobs, to handle full globs use micromatch.
    • Pass {regex: true} to return a regex
    • Handles nested patterns
    • More complete (and correct) support than minimatch

    Usage

    var extglob = require('extglob');
    
    extglob('?(z)');
    //=> '(?:z)?'
    extglob('*(z)');
    //=> '(?:z)*'
    extglob('+(z)');
    //=> '(?:z)+'
    extglob('@(z)');
    //=> '(?:z)'
    extglob('!(z)');
    //=> '(?!^(?:(?!z)[^/]*?)).*$'

    Optionally return regex

    extglob('!(z)', {regex: true});
    //=> /(?!^(?:(?!z)[^/]*?)).*$/

    Extglob patterns

    To learn more about how extglobs work, see the docs for Bash pattern matching:

    • ?(pattern): Match zero or one occurrence of the given pattern.
    • *(pattern): Match zero or more occurrences of the given pattern.
    • +(pattern): Match one or more occurrences of the given pattern.
    • @(pattern): Match one of the given pattern.
    • !(pattern): Match anything except one of the given pattern.

    Related

    • braces: Fastest brace expansion for node.js, with the most complete support for the Bash 4.3 braces… more
    • expand-brackets: Expand POSIX bracket expressions (character classes) in glob patterns.
    • expand-range: Fast, bash-like range expansion. Expand a range of numbers or letters, uppercase or lowercase. See… more
    • fill-range: Fill in a range of numbers or letters, optionally passing an increment or multiplier to… more
    • micromatch: Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch. Just… more

    Run tests

    Install dev dependencies:

    $ npm i -d && npm test

    Contributing

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

    Author

    Jon Schlinkert

    License

    Copyright © 2015 Jon Schlinkert Released under the MIT license.


    This file was generated by verb-cli on August 01, 2015.

    Install

    npm i extglob@0.3.2

    Version

    0.3.2

    License

    MIT

    Last publish

    Collaborators

    • danez
    • jonschlinkert