@babel/plugin-transform-unicode-sets-regex
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
Este plugin está incluido en @babel/preset-env, dentro de ES2024
Este plugin transforma expresiones regulares que utilizan el flag v, introducido por la propuesta Notación de conjuntos en RegExp + propiedades de cadenas, en expresiones regulares que usan el flag u.
Solo transforma la sintaxis /.../v y no modifica el constructor new RegExp, ya que sus argumentos no pueden transformarse estáticamente de forma previa: para manejar el comportamiento en tiempo de ejecución de funciones/clases, necesitarás usar un polyfill.
Ejemplo
Intersección
/[\p{ASCII}&&\p{Decimal_Number}]/v;
se transformará en
/[0-9]/u;
Diferencia
// Non-ASCII white spaces
/[\p{White_Space}--\p{ASCII}]/v;
se transformará en
/[\x85\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/u;
Propiedad de cadenas
/^\p{Emoji_Keycap_Sequence}$/v.test("*\uFE0F\u20E3");
// true
se transformará en
/^(?:\*️⃣|#️⃣|0️⃣|1️⃣|2️⃣|3️⃣|4️⃣|5️⃣|6️⃣|7️⃣|8️⃣|9️⃣)$/u.test("*\uFE0F\u20E3");
// true
Aquí hay una lista de propiedades soportadas. Ten en cuenta que usar propiedades de cadenas con el flag u producirá un error.
/\p{Emoji_Keycap_Sequence}/u;
// Error: Properties of strings are only supported when using the unicodeSets (v) flag.
Instalación
- npm
- Yarn
- pnpm
- Bun
npm install --save-dev @babel/plugin-transform-unicode-sets-regex
yarn add --dev @babel/plugin-transform-unicode-sets-regex
pnpm add --save-dev @babel/plugin-transform-unicode-sets-regex
bun add --dev @babel/plugin-transform-unicode-sets-regex
Uso
Mediante un archivo de configuración (Recomendado)
{
"plugins": ["@babel/plugin-transform-unicode-sets-regex"]
}
Mediante la CLI
babel --plugins @babel/plugin-transform-unicode-sets-regex script.js
Mediante la API de Node
require("@babel/core").transformSync("code", {
plugins: ["@babel/plugin-transform-unicode-sets-regex"],
});