@babel/plugin-transform-named-capturing-groups-regex
Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →
Ce plugin est inclus dans @babel/preset-env, au sein de la spécification ES2018
NOTE : Ce plugin génère du code nécessitant les fonctionnalités des expressions régulières ES6.
Si vous devez prendre en charge des navigateurs plus anciens, utilisez soit
l'option runtime: false, soit importez un polyfill approprié (par exemple core-js).
Ce plugin transforme les littéraux d'expressions régulières pour prendre en charge les groupes de capture nommés. Il ne modifie pas le constructeur new RegExp, car ses arguments ne peuvent pas être pré-transformés statiquement : pour gérer le comportement à l'exécution des fonctions/classes, vous devrez utiliser un polyfill à la place.
Exemples
Entrée
var re = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/;
console.log(re.exec("1999-02-29").groups.year);
Sortie
var re = _wrapRegExp(/(\d{4})-(\d{2})-(\d{2})/, { year: 1, month: 2, day: 3 });
console.log(re.exec("1999-02-29").groups.year);
Installation
- npm
- Yarn
- pnpm
- Bun
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
bun add --dev @babel/plugin-transform-named-capturing-groups-regex
Utilisation
Avec un fichier de configuration (Recommandé)
{
"plugins": ["@babel/plugin-transform-named-capturing-groups-regex"]
}
Via CLI
babel --plugins @babel/plugin-transform-named-capturing-groups-regex script.js
Via l'API Node
require("@babel/core").transformSync("code", {
plugins: ["@babel/plugin-transform-named-capturing-groups-regex"],
});
Options
runtime
boolean, par défaut true
Lorsque cette option est désactivée, Babel n'encapsule pas les expressions régulières avec l'aide _wrapRegExp.
Le résultat ne prend en charge que les références internes de groupes, et non les propriétés à l'exécution :
var stringRe = /(?<quote>"|').*?\k<quote>/;
stringRe.test("'foo'"); // "true", works
stringRe.exec("'foo'").groups.quote; // Error
Vous pouvez en savoir plus sur la configuration des options de plugin ici