Skip to main content

@babel/plugin-transform-unicode-property-regex

info

这个插件包含在 @babel/preset-env 中,在 ES2018 中

这个插件会把普通的正则表达式 字面量 转换为支持 \p{...} 转义字符。它不会修改 new RegExp 构造函数,因为它的参数无法静态预转换:要处理函数/类的运行时行为,你需要使用 polyfill。

🌐 This plugin transforms regular expression literals to support the \p{...} escapes. It does not patch the new RegExp constructor, since its arguments cannot be pre-transformed statically: to handle runtime behavior of functions/classes, you will need to use a polyfill instead.

这是一个在线演示。

安装​

🌐 Installation

npm install --save-dev @babel/plugin-transform-unicode-property-regex

用法​

🌐 Usage

🌐 With a configuration file (Recommended)

babel.config.json
{
"plugins": ["@babel/plugin-transform-unicode-property-regex"]
}

通过 CLI​

🌐 Via CLI

Shell
babel --plugins @babel/@babel/plugin-transform-unicode-property-regex script.js

通过 Node.js API​

🌐 Via Node.js API

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

转译为 ES6/ES2015:

🌐 To transpile to ES6/ES2015:

JavaScript
require("@babel/core").transformSync(code, {
plugins: [
[
"@babel/plugin-transform-unicode-property-regex",
{ useUnicodeFlag: false },
],
],
});

选项​

🌐 Options

  • useUnicodeFlag(默认为 true)

当使用 false 禁用时,该转换会将 Unicode 正则表达式转换为非 Unicode 正则表达式,以提供更广泛的支持,并移除 u 标志。更多信息请参见 https://github.com/mathiasbynens/regexpu-core#useunicodeflag-default-false 。

🌐 When disabled with false, the transform converts Unicode regexes to non-Unicode regexes for wider support, removing the u flag. See https://github.com/mathiasbynens/regexpu-core#useunicodeflag-default-false for more information.

tip

你可以在这里了解更多关于配置插件选项的内容

作者​

🌐 Author

twitter/mathias
Mathias Bynens