# anymatch 中文文档

规范地址：https://npmcn.com/package/anymatch/

版本：3\.1\.3
npm 元数据更新时间：2024-09-18T05:27:37.897Z
中文译文更新时间：2026-11-05T14:54:23.137Z
软件包许可：ISC

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/anymatch
原文对照：https://npmcn.com/package/anymatch/?lang=original
项目主页：https://github.com/micromatch/anymatch
源码仓库：https://github.com/micromatch/anymatch

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：9.7 kB，5 个文件
- TypeScript 类型：包内自带
- Node.js 要求：\>= 8
- 运行依赖：2 个
- 首次发布：2013-11-25T16:08:38.502Z
- 最新版本发布：2022-11-21T18:21:37.586Z
- 近 30 天下载量：444937389（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：18（近 12 个月 0 个）

## 中文简介

匹配字符串与可配置字符串、 软体、 正则表达式和/或函数

## 安装

```sh
npm install anymatch
```

也可以使用：`pnpm add anymatch`、`yarn add anymatch`、`bun add anymatch`

## README

# 任意匹配 [![Build Status](https://travis-ci.org/micromatch/anymatch.svg?branch=master)](https://travis-ci.org/micromatch/anymatch) [![Coverage Status](https://img.shields.io/coveralls/micromatch/anymatch.svg?branch=master)](https://coveralls.io/r/micromatch/anymatch?branch=master)

Javascript 模块将字符串匹配到正则表达式, glob, string, 或函数将字符串作为参数并返回真伪或虚伪 数值。 火柴也可以是其中任何一个或全部的数组. 用于 允许一个非常灵活的用户定义配置来定义文件路径等东西.

**说明: 这个模块有 Bash-parity,请注意Windows 风格回鞭不支持作为分隔符. 见 [https://github.com/micromatch/micromatch#后鞭打](https://github.com/micromatch/micromatch#backslashes) 更多信息.**

## 使用量

```sh
npm install anymatch
```

#### 任意匹配( 匹配者, 测试String, \[返回Index\], \[选项\])

-   **匹配点**: (中文(简体) )_阵列 QQ 串列 REG ExpQ 功能_(中文(简体) ) 要直接匹配的字符串, 有 glob 模式的字符串, 正则表达式 测试,以测试为参数并返回真伪的函数 值,如果它应该匹配,或者这些类型的任何数字和组合的数组.
-   **测试**: (中文(简体) )_字符串QQ 箭头_)取弦以试相克者. 若为 作为数组传递,数组的第一个元素将作为 `testString` 用于非函数匹配器,同时将应用整个阵列 作为函数匹配者的参数.
-   **选项**: (中文(简体) )_对象_ \[可选\] . 任何一个 [缩写](https://github.com/micromatch/picomatch#options) 选项.
    -   **返回内存**: (中文(简体) )_布尔 \[可选\]_如果选中的话, 返回 测试匹配的第一个匹配者String,或者 -1 如果没有匹配,而不是一个 布尔结果.

```js
const anymatch = require('anymatch');

const matchers = [ 'path/to/file.js', 'path/anyjs/**/*.js', /foo.js$/, string => string.includes('bar') && string.length > 10 ] ;

anymatch(matchers, 'path/to/file.js'); // true
anymatch(matchers, 'path/anyjs/baz.js'); // true
anymatch(matchers, 'path/to/foo.js'); // true
anymatch(matchers, 'path/to/bar.js'); // true
anymatch(matchers, 'bar.js'); // false

// returnIndex = true
anymatch(matchers, 'foo.js', {returnIndex: true}); // 2
anymatch(matchers, 'path/anyjs/foo.js', {returnIndex: true}); // 1

// any picomatc

// using globs to match directories and their children
anymatch('node_modules', 'node_modules'); // true
anymatch('node_modules', 'node_modules/somelib/index.js'); // false
anymatch('node_modules/**', 'node_modules/somelib/index.js'); // true
anymatch('node_modules/**', '/absolute/path/to/node_modules/somelib/index.js'); // false
anymatch('**/node_modules/**', '/absolute/path/to/node_modules/somelib/index.js'); // true

const matcher = anymatch(matchers);
['foo.js', 'bar.js'].filter(matcher);  // [ 'foo.js' ]
anymatch master* ❯

```

#### 任意匹配( 匹配)

您也可以只通过您的匹配者来获取一个具有 已绑定到提供的匹配标准 。 这可以用作 `Array#filter` 调用.

```js
var matcher = anymatch(matchers);

matcher('path/to/file.js'); // true
matcher('path/anyjs/baz.js', true); // 1

['foo.js', 'bar.js'].filter(matcher); // ['foo.js']
```

## 更改日志

[参见 GitHub 上的发布注释页](https://github.com/micromatch/anymatch/releases)

-   **v3.0 :** 删除 `startIndex` 财务报告和审定财务报表 `endIndex` 参数。 节点8.x只.
-   **v2.0: (中文(简体) )** [微比对](https://github.com/jonschlinkert/micromatch) 远离小比分 并与巴什连接。 其中包括以不同方式处理回扣(见 [https://github.com/micromatch/micromatch#后鞭打](https://github.com/micromatch/micromatch#backslashes) 更多信息).
-   **v1.2:** 任意匹配的使用 [微比对](https://github.com/jonschlinkert/micromatch) 用于 glob 模式匹配。 glob 模式匹配的问题应该是: 直接报告 [微匹配问题跟踪器](https://github.com/jonschlinkert/micromatch/issues)。 。 。 .

## 许可证

[公务员制度委员会](https://raw.github.com/micromatch/anymatch/master/LICENSE)

## 常见问题

### anymatch 是什么？

匹配字符串与可配置字符串、 软体、 正则表达式和/或函数

### 如何安装 anymatch？

在项目目录运行 npm install anymatch，或使用 pnpm add / yarn add / bun add。

### anymatch 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### anymatch 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>= 8。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### anymatch 可以商用吗？

anymatch 使用 ISC 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### anymatch 的下载量有多少？

根据 npm 官方下载统计，anymatch 在 2026/10/05 – 2026/11/03 这 30 天内被下载 444,937,389 次，日均约 14,831,246 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### anymatch 还在维护吗？

最新版本 3\.1\.3 发布于 2022/11/22（3 年前）；至今共发布 18 个版本，其中过去 12 个月发布了 0 个；首次发布于 2013/11/26。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

