@babel/plugin-proposal-regexp-modifiers
例
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/
この提案では、インライン修飾子としてi
、m
、s
のみがサポートされています。
インストール
- npm
- Yarn
- pnpm
npm install --save-dev @babel/plugin-proposal-regexp-modifiers
yarn add --dev @babel/plugin-proposal-regexp-modifiers
pnpm add --save-dev @babel/plugin-proposal-regexp-modifiers
使用方法
設定ファイルを使用する場合(推奨)
babel.config.json
{
"plugins": ["@babel/plugin-proposal-regexp-modifiers"]
}
CLI を使用する場合
シェル
babel --plugins @babel/@babel/plugin-proposal-regexp-modifiers script.js
Node.js API を使用する場合
JavaScript
require("@babel/core").transformSync(code, {
plugins: ["@babel/plugin-proposal-regexp-modifiers"],
});