Glob 到正则表达式
转动 *- wildcard 样式 glob("*.min.js")变成正则表达式
(单位:千美元)/^.*\.min\.js$/来!
来配合像相撞的花花公子. ? 对于任何单一特征匹配, [a-z] 页:1
字符范围,以及 {*.html, *.js} 使用
{ extended: true }。 。 。 .
服从 光荣之星 ** 规则设置选项 {globstar: true}。 。 。 .
注: 这改变了行为 * 何时 globstar 实值 true 如下所示:
何时 {globstar: true}数字 : /foo/** 将匹配任何开始的字符串 /foo/
喜欢 /foo/index.htm, (中文(简体) ), /foo/bar/baz.txt等 (中文(简体) ). 还有.., /foo/**/*.txt 将匹配
任何开头的字符串 /foo/ 结尾 .txt 喜欢 /foo/bar.txt, (中文(简体) ),
/foo/bar/baz.txt等 (中文(简体) ).
不过 /foo/* (单一) *,而不是光荣之星)将匹配从
/foo/ 喜欢 /foo/index.htm, (中文(简体) ), /foo/baz.txt 但不会匹配字符串
包含一个 / 右边像 /foo/bar/baz.txt, (中文(简体) ), /foo/bar/baz/qux.dat等 (中文(简体) ).
在结果上设置标记 RegExp 对象通过添加 flags 属性到选项对象,例如 { flags: "i" } 因为忽略案件.
安装
npm install glob-to-regexp
使用量
var globToRegExp = require('glob-to-regexp');
var re = globToRegExp("p*uck");
re.test("pot luck"); // true
re.test("pluck"); // true
re.test("puck"); // true
re = globToRegExp("*.min.js");
re.test("http://example.com/jquery.min.js"); // true
re.test("http://example.com/jquery.min.js.map"); // false
re = globToRegExp("*/www/*.js");
re.test("http://example.com/www/app.js"); // true
re.test("http://example.com/www/lib/factory-proxy-model-observer.js"); // true
// Extended globs
re = globToRegExp("*/www/{*.js,*.html}", { extended: true });
re.test("http://example.com/www/app.js"); // true
re.test("http://example.com/www/index.html"); // true
许可证
版权 (c) 2013, Nick Fitzgerald
版权所有.
源和二进制形式的再分配和使用,无论是否修改, 允许满足下列条件:
-
源代码的再分配必须保留上述版权通知,这个 列出条件和下列免责声明.
-
二进制形式的再分配必须复制上述版权通知,这个 文件和/或文件中的下列免责声明 分发时提供的其他材料.
这个软件是由警察的 持有和贡献"是"和 包括但不受限制的、 对某一特别目的而言 分会。 连警察或捐款都无法抵偿 任何直接、间接、事件、特别、紧急、或后果 (包括,但不限制,实质性货物或服务的采购; 使用、数据、或赞助、或业务中断的损失 任何负债的理论,无论在合同、合同或合同中 以任何方式出现于此用途之外 苏发,即使咨询 的可能性 这样的灾难.
