glob-regex

Tiny glob->regex converter

9 个版本
安装
npm install glob-regex
yarn add glob-regex
pnpm add glob-regex
bun add glob-regex
README

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!

版本列表
0.3.2 2018-11-19
0.3.1 2018-11-13
0.3.0 2018-06-26
0.2.2 2017-12-30
0.2.1 2017-12-30
0.2.0 2017-12-13
0.1.1 2017-12-01
0.1.0 2017-11-30
0.0.1 2017-11-26