跳至主内容

@babel/plugin-transform-regexp-modifiers

非官方测试版翻译

本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →

信息

此插件已包含在 @babel/preset-env 中,属于 ES2025 标准。

示例

i 修饰符

input.js
// matches Aa and aa
const regex = /(?i:a)a/

将被转换为

output.js
const regex = /(?:[Aa])a/

m 修饰符

input.js
// matches aa, a\naa, etc. but not a\na
const regex = /(?m:^a)a/

将被转换为

output.js
const regex = /(?:(?:^|(?<=[\n\r\u2028\u2029]))a)a/

s 修饰符

input.js
// matches \na and aa, but not \n\n
const regex = /(?s:.)./

将被转换为

output.js
const regex = /(?:[\s\S])./;

多个修饰符

你也可以同时启用多个修饰符:

// matches Aa, aa, A\naa, etc. but not A\na
const regex = /(?im:^a)a/

或禁用它们:

// matches Aa, aa, A\naa, etc. but not A\na
const regex = /^a(?-im:a)/im

该提案仅支持 ims 作为行内修饰符。

安装

npm install --save-dev @babel/plugin-transform-regexp-modifiers

用法

通过配置文件(推荐)

babel.config.json
{
"plugins": ["@babel/plugin-transform-regexp-modifiers"]
}

通过命令行

Shell
babel --plugins @babel/@babel/plugin-transform-regexp-modifiers script.js

通过 Node.js API

JavaScript
require("@babel/core").transformSync(code, {
plugins: ["@babel/plugin-transform-regexp-modifiers"],
});

参考