Transformateur de modificateurs d'expressions régulières
Traduction Bêta Non Officielle
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 →
info
Ce plugin est inclus dans @babel/preset-env, au sein de ES2025.
Exemple
Modificateur i
input.js
// matches Aa and aa
const regex = /(?i:a)a/
sera transformé en
output.js
const regex = /(?:[Aa])a/
Modificateur m
input.js
// matches aa, a\naa, etc. but not a\na
const regex = /(?m:^a)a/
sera transformé en
output.js
const regex = /(?:(?:^|(?<=[\n\r\u2028\u2029]))a)a/
Modificateur s
input.js
// matches \na and aa, but not \n\n
const regex = /(?s:.)./
sera transformé en
output.js
const regex = /(?:[\s\S])./;
Modificateurs multiples
Vous pouvez également activer plusieurs modificateurs :
// matches Aa, aa, A\naa, etc. but not A\na
const regex = /(?im:^a)a/
ou les désactiver :
// matches Aa, aa, A\naa, etc. but not A\na
const regex = /^a(?-im:a)/im
Cette proposition ne prend en charge que i, m et s comme modificateurs en ligne.
Installation
- npm
- Yarn
- pnpm
- Bun
npm install --save-dev @babel/plugin-transform-regexp-modifiers
yarn add --dev @babel/plugin-transform-regexp-modifiers
pnpm add --save-dev @babel/plugin-transform-regexp-modifiers
bun add --dev @babel/plugin-transform-regexp-modifiers
Utilisation
Avec un fichier de configuration (Recommandé)
babel.config.json
{
"plugins": ["@babel/plugin-transform-regexp-modifiers"]
}
Via CLI
Shell
babel --plugins @babel/@babel/plugin-transform-regexp-modifiers script.js
Via l'API Node.js
JavaScript
require("@babel/core").transformSync(code, {
plugins: ["@babel/plugin-transform-regexp-modifiers"],
});