跳转到内容

高度优化的 glob 匹配库 micromatch

glob 是一个古老的 UNIX 程序,用来进行文件路径名的模式匹配。在后来发展中,glob 模式匹配又有一些扩展,但是基本思路没有变化。glob 的模式匹配跟正则表达式不太一样,它比正则表达式要简单一些。glob 的模式匹配有时也叫做通配符匹配(wildcard matching)。

glob 最常见的应用场景是匹配文件路径,使用 glob 匹配文件路径比正则表达式更简洁。如 webpack 等重度依赖文件系统的工具都需要这种模式匹配。

glob 匹配与正则表达式匹配的不同:

  • 元字符代表的意思不同,如 glob 中 * 指匹配零个或多个字符,而 * 在正则表达式中指前面的字符出现零次或多次
  • 正则表达式支持更多更复杂的字符串匹配模式,glob 只是简单的匹配路径名称
  • glob 匹配的是整个字符串,而正则表达式匹配的是子字符串
  • glob 用于文件名的匹配,所以通配符不能匹配路径分隔符 /, 另外如果文件名是以 . 开始,则必须准确匹配