glob-regex
TypeScript icon, indicating that this package has built-in type declarations

0.3.2 • Public • Published

glob-regex

npm Bundle size Install size Donate

Convert a glob to a RegExp object.

  • Any periods are escaped (. -> \\.)
  • * and ** are replaced
  • Always start with ^ and end with $
  • All RegExp syntax is valid
  • Path separators are auto-escaped by new RegExp
const globRegex = require('glob-regex')
 
// Match no directory.
let re = globRegex('*.js')
re.test('a.js') // => true
re.test('a.css') // => false
re.test('a/b.js') // => false
 
// Use ? operator for optional character.
re = globRegex('*.jsx?')
re.test('a.js') // => true
re.test('b.jsx') // => true
 
// Match any directory.
re = globRegex('**.css')
re.test('a.css') // => true
re.test('a/b.css') // => true
 
// Match any directory and specific name.
re = globRegex('**/a.css')
re.test('a.css') // => true
re.test('b/a.css') // => true
 
// Use | operator to match multiple values.
re = globRegex('*.(js|css)')
re.test('a.js') // => true
re.test('a.css') // => true

Use globRegex.replace() to transform a glob into a RegExp-compatible string.

NOTE: It's not recommended to use globRegex(array) if you need the exec method, since the result will be difficult to make use of. Using the test method works great, though!

/glob-regex/

    Package Sidebar

    Install

    npm i glob-regex

    Weekly Downloads

    141,421

    Version

    0.3.2

    License

    none

    Unpacked Size

    4.11 kB

    Total Files

    7

    Last publish

    Collaborators

    • aleclarson