is-glob

返回
true如果给定的字符串看起来像一个glob模式或一个extglob模式。这使得创建仅在必要时使用外部模块 (如node-glob) 的代码变得容易,从而导致更快的代码执行和初始化时间,以及更好的用户体验。
请考虑跟随这个项目的作者, Jon Schlinkert,并考虑主演该项目,以展示您的: 心: 和支持。
安装
安装与 npm:
$ npm install --save is-glob
你可能也会感兴趣 是有效的全局匹配模式 和 has-glob。
用法
var isGlob = require('is-glob');
默认的行为
真正的
具有glob字符或正则表达式模式的模式将返回 true:
isGlob('!foo.js');
isGlob('*.js');
isGlob('**/abc.js');
isGlob('abc/*.js');
isGlob('abc/(aaa|bbb).js');
isGlob('abc/[a-z].js');
isGlob('abc/{a,b}.js');
//=> true
Extglobs
isGlob('abc/@(a).js');
isGlob('abc/!(a).js');
isGlob('abc/+(a).js');
isGlob('abc/*(a).js');
isGlob('abc/?(a).js');
//=> true
错误
转义的globs或extglobs返回 false:
isGlob('abc/\\@(a).js');
isGlob('abc/\\!(a).js');
isGlob('abc/\\+(a).js');
isGlob('abc/\\*(a).js');
isGlob('abc/\\?(a).js');
isGlob('\\!foo.js');
isGlob('\\*.js');
isGlob('\\*\\*/abc.js');
isGlob('abc/\\*.js');
isGlob('abc/\\(aaa|bbb).js');
isGlob('abc/\\[a-z].js');
isGlob('abc/\\{a,b}.js');
//=> false
没有glob模式的模式返回 false:
isGlob('abc.js');
isGlob('abc/def/ghi.js');
isGlob('foo.js');
isGlob('abc/@.js');
isGlob('abc/+.js');
isGlob('abc/?.js');
isGlob();
isGlob(null);
//=> false
阵列也是 false (如果要检查数组是否具有glob模式,请使用 has-glob):
isGlob(['**/*.js']);
isGlob(['foo.js']);
//=> false
选项严格
当 options.strict === false 在确定模式是否是glob时,行为不太严格。意思是
一些模式将返回 false 可能返回 true.这样做是为了使匹配的库像 micromatch 有机会确定该模式是否是glob。
真正的
具有glob字符或正则表达式模式的模式将返回 true:
isGlob('!foo.js', {strict: false});
isGlob('*.js', {strict: false});
isGlob('**/abc.js', {strict: false});
isGlob('abc/*.js', {strict: false});
isGlob('abc/(aaa|bbb).js', {strict: false});
isGlob('abc/[a-z].js', {strict: false});
isGlob('abc/{a,b}.js', {strict: false});
//=> true
Extglobs
isGlob('abc/@(a).js', {strict: false});
isGlob('abc/!(a).js', {strict: false});
isGlob('abc/+(a).js', {strict: false});
isGlob('abc/*(a).js', {strict: false});
isGlob('abc/?(a).js', {strict: false});
//=> true
错误
转义的globs或extglobs返回 false:
isGlob('\\!foo.js', {strict: false});
isGlob('\\*.js', {strict: false});
isGlob('\\*\\*/abc.js', {strict: false});
isGlob('abc/\\*.js', {strict: false});
isGlob('abc/\\(aaa|bbb).js', {strict: false});
isGlob('abc/\\[a-z].js', {strict: false});
isGlob('abc/\\{a,b}.js', {strict: false});
//=> false
关于
贡献
拉请求和明星总是受欢迎的。对于bug和特性请求, 请创建一个问题。
运行测试
运行和审查单元测试是熟悉库及其API的好方法。可以使用以下命令安装依赖项并运行测试:
$ npm install && npm test
建立文档
(这个项目的自述。Md由 动词请不要直接编辑自述文件。对自述文件的任何更改都必须在 .verb.md 自述文件模板)。
使用实例生成自述文件。
$ npm install -g verbose/verb#dev verb-generate-readme && verb
相关项目
你也可能对这些项目感兴趣:
- 组装: 把袜子里的石头拿出来!Assemble让你快速创建web项目… 更多的 | 首页
- 基础: 使用构建块等插件快速创建高质量服务器端node.js应用程序的框架 | 首页
- 更新: 可扩展!Update是一个新的开源开发人员框架和CLI,用于自动更新… 更多的 | 首页
- 动词: GitHub项目的文档生成器。动词是非常强大的,易于使用,并使用… 更多的 | 首页
贡献者
| 提交 | 贡献者 |
| --- | --- |
| 47 | jonschlinkert |
| 5 | doowb |
| 1 | 酷毙了 |
| 1 | 丹珀 |
| 1 | 鲍尔米尔 |
作者
Jon Schlinkert
许可证
版权所有©2019 Jon Schlinkert。 根据 麻省理工学院的许可。
该文件由 动词-生成-自述文件, v0.8.0, 2019年3月27日。