@babel/plugin-transform-named-capturing-groups-regex
情報
このプラグインは@babel/preset-env
に含まれており、ES2018に準拠しています。注記: このプラグインは、ES6の正規表現機能を必要とするコードを生成します。古いブラウザをサポートする必要がある場合は、runtime: false
オプションを使用するか、適切なポリフィル(例:core-js
)をインポートしてください。
例
入力
JavaScript
var re = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/;
console.log(re.exec("1999-02-29").groups.year);
出力
JavaScript
var re = _wrapRegExp(/(\d{4})-(\d{2})-(\d{2})/, { year: 1, month: 2, day: 3 });
console.log(re.exec("1999-02-29").groups.year);
インストール
- npm
- Yarn
- pnpm
npm install --save-dev @babel/plugin-transform-named-capturing-groups-regex
yarn add --dev @babel/plugin-transform-named-capturing-groups-regex
pnpm add --save-dev @babel/plugin-transform-named-capturing-groups-regex
使用方法
設定ファイルを使用する場合(推奨)
babel.config.json
{
"plugins": ["@babel/plugin-transform-named-capturing-groups-regex"]
}
CLI経由
シェル
babel --plugins @babel/plugin-transform-named-capturing-groups-regex script.js
Node API経由
JavaScript
require("@babel/core").transformSync("code", {
plugins: ["@babel/plugin-transform-named-capturing-groups-regex"],
});
オプション
runtime
boolean
、デフォルトはtrue
このオプションが無効になっている場合、Babelは正規表現を_wrapRegExp
ヘルパーでラップしません。出力は内部グループ参照のみをサポートし、ランタイムプロパティはサポートしません。
JavaScript
var stringRe = /(?<quote>"|').*?\k<quote>/;
stringRe.test("'foo'"); // "true", works
stringRe.exec("'foo'").groups.quote; // Error
ヒント
プラグインオプションの設定について詳しくは、こちらをご覧ください。