Skip to content
 
 

Latest commit

 

History

35 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

multimatch Build Status

Extends minimatch.match() with support for multiple patterns

Install

$ npm install multimatch

Usage

const multimatch = require('multimatch');

multimatch(['unicorn', 'cake', 'rainbows'], ['*', '!cake']);
//=> ['unicorn', 'rainbows']

See the tests for more usage examples and expected matches.

API

multimatch(paths, patterns, [options]

Returns an array of matching paths.

paths

Type: string string[]

patterns

Type: string string[]

See supported minimatch patterns.

options

Type: Object

See the minimatch options.

How multiple patterns work

Positive patterns (e.g. foo or *) add to the results, while negative patterns (e.g. !foo) subtract from the results.

Therefore a lone negation (e.g. ['!foo']) will never match anything – use ['*', '!foo'] instead.

Globbing patterns

Just a quick overview.

  • * matches any number of characters, but not /
  • ? matches a single character, but not /
  • ** matches any number of characters, including /, as long as it's the only thing in a path part
  • {} allows for a comma-separated list of "or" expressions
  • ! at the beginning of a pattern will negate the match

Related

  • globby - Match against the filesystem instead of a list
  • matcher - Simple wildcard matching

License

MIT © Sindre Sorhus

About

Extends minimatch.match() with support for multiple patterns

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages