Vai al contenuto principale

@babel/plugin-transform-regexp-modifiers

Traduzione Beta Non Ufficiale

Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →

informazioni

Questo plugin è incluso in @babel/preset-env, in ES2025.

Esempio

Modificatore i

input.js
// matches Aa and aa
const regex = /(?i:a)a/

verrà trasformato in

output.js
const regex = /(?:[Aa])a/

Modificatore m

input.js
// matches aa, a\naa, etc. but not a\na
const regex = /(?m:^a)a/

verrà trasformato in

output.js
const regex = /(?:(?:^|(?<=[\n\r\u2028\u2029]))a)a/

Modificatore s

input.js
// matches \na and aa, but not \n\n
const regex = /(?s:.)./

verrà trasformato in

output.js
const regex = /(?:[\s\S])./;

Modificatori multipli

Puoi anche abilitare più modificatori:

// matches Aa, aa, A\naa, etc. but not A\na
const regex = /(?im:^a)a/

oppure disabilitarli:

// matches Aa, aa, A\naa, etc. but not A\na
const regex = /^a(?-im:a)/im

Questa proposta supporta solo i, m e s come modificatori inline.

Installazione

npm install --save-dev @babel/plugin-transform-regexp-modifiers

Utilizzo

Con un file di configurazione (Consigliato)

babel.config.json
{
"plugins": ["@babel/plugin-transform-regexp-modifiers"]
}

Tramite CLI

Shell
babel --plugins @babel/@babel/plugin-transform-regexp-modifiers script.js

Tramite Node.js API

JavaScript
require("@babel/core").transformSync(code, {
plugins: ["@babel/plugin-transform-regexp-modifiers"],
});

Riferimenti