@babel/plugin-proposal-duplicate-named-capturing-groups-regex
範例
在
JavaScript
var re = /(?<year>\d{4})-(?<month>\d{2})|(?<month>\d{2})-(?<year>\d{4})/;
console.log(re.exec("02-1999").groups.year);
輸出
JavaScript
var re = _wrapRegExp(/(\d{4})-(\d{2})|(\d{2})-(\d{4})/, {
year: [1, 4],
month: [2, 3],
});
console.log(re.exec("02-1999").groups.year);
安裝
- npm
- Yarn
- pnpm
npm install --save-dev @babel/plugin-proposal-duplicate-named-capturing-groups-regex
yarn add --dev @babel/plugin-proposal-duplicate-named-capturing-groups-regex
pnpm add --save-dev @babel/plugin-proposal-duplicate-named-capturing-groups-regex
使用
使用設定檔 (建議)
babel.config.json
{
"plugins": ["@babel/plugin-proposal-duplicate-named-capturing-groups-regex"]
}
透過 CLI
Shell
babel --plugins @babel/plugin-proposal-duplicate-named-capturing-groups-regex script.js
透過 Node API
JavaScript
require("@babel/core").transformSync("code", {
plugins: ["@babel/plugin-proposal-duplicate-named-capturing-groups-regex"],
});
選項
runtime
布林值
,預設為 true
當此選項停用時,Babel 就不會使用 _wrapRegExp
輔助程式包裝 RegExps。輸出只支援內部群組參考,而不支援執行時期屬性
JavaScript
var stringRe = /(?:(?<quote>")|(?<quote>')).*?\k<quote>/;
stringRe.test("'foo'"); // "true", works
stringRe.exec("'foo'").groups.quote; // undefined
提示
你可以 在此處 閱讀更多關於設定外掛選項的資訊