javascript - String 是否匹配 glob 模式

标签 javascript regex wildcard glob

我有一组路径,比方说:

/Users/alansouza/workspace/project/src/js/components/chart/Graph.js

此外,我在配置文件中有一个条目,其中包含通配符(glob)格式的此路径的附加属性,如:

{
  '**/*.js': {
    runBabel: true
  }
}

问题:是否有一种简单的方法来验证路径是否与通配符表达式匹配?

例如:

const matches = Glob.matches(
  '**/*.js',
  '/Users/alansouza/workspace/project/src/js/components/chart/Graph.js'
);

if (matches) {
  //do something
}

仅供引用:我正在使用 https://github.com/isaacs/node-glob

最佳答案

您可以将 glob 转换为具有节点 glob-to-regex 的正则表达式,然后根据正则表达式验证路径字符串。
https://www.npmjs.com/package/glob-to-regexp

看起来 node glob 是另一种选择。
https://github.com/isaacs/node-glob

而且node有自己的glob实现
https://github.com/isaacs/minimatch

我的第一个想法是查看 phpjs 是否实现了 glob 函数,但看起来他们没有:(
http://locutus.io/php/

关于javascript - String 是否匹配 glob 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41112143/

相关文章:

javascript - 同一路线重新加载时的 Angular 解析重新加载

java - 如何防止正则表达式转换 bbcode 超链接?

Django 错误(外部 IP): Invalid HTTP_HOST header: '*.domain.com'

ruby - 在 Ruby 中标记字符串的更好方法?

html - Elasticsearch 上的短语和通配符查询

ssl - 如何在不同的服务器上添加带有子域的 SSL?

javascript - React Native渲染函数给出错误: Unexpected token

javascript - 预期 reducer 是一个函数 - React Native、Redux

javascript - 在 Firefox 中,为什么当 javascript 更改背景颜色时 HTML 按钮大小会减小?

Java 执行正则表达式