RegExp : propriété unicodeSets
Baseline
Large disponibilité
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2023.
La propriété d'accesseur unicodeSets des instances de RegExp retourne si l'indicateur v est utilisé ou non avec cette expression rationnelle.
Exemple interactif
const regex1 = /[α-ω]/u;
const regex2 = /[\p{Lowercase}&&\p{Script=Greek}]/v;
console.log(regex1.unicodeSets);
// Résultat attendu : false
console.log(regex2.unicodeSets);
// Résultat attendu : true
Description
RegExp.prototype.unicodeSets a la valeur true si l'indicateur v a été utilisé ; sinon, false. L'indicateur v est une « mise à niveau » de l'indicateur u qui active davantage de fonctionnalités liées à Unicode. (« v » est la lettre suivante après « u » dans l'alphabet.) Comme u et v interprètent la même expression rationnelle de manière incompatible, l'utilisation des deux indicateurs entraîne une SyntaxError. Avec l'indicateur v, vous obtenez toutes les fonctionnalités mentionnées dans la description de l'indicateur u, plus :
- La séquence d'échappement
\ppeut également être utilisée pour correspondre aux propriétés des chaînes de caractères, au lieu de se limiter aux caractères. - La syntaxe de classe de caractères est améliorée pour permettre les syntaxes d'intersection, d'union et de soustraction, ainsi que la correspondance de plusieurs caractères Unicode.
- La syntaxe de complément de classe de caractères
[^...]construit une classe complémentaire au lieu de nier le résultat de la correspondance, évitant certains comportements déroutants avec la correspondance insensible à la casse. Pour plus d'informations, voir Classes complémentaires et correspondance insensible à la casse.
Certaines expressions rationnelles valides en mode u deviennent invalides en mode v. Plus précisément, la syntaxe de la classe de caractères est différente et certains caractères ne peuvent plus apparaître littéralement. Pour plus d'informations, voir Classe de caractères en mode v.
Note :
Le mode v n'interprète pas les grappes de graphèmes comme des caractères uniques ; elles restent constituées de plusieurs points de code. Par exemple, /[🇺🇳]/v peut toujours correspondre à "🇺".
L'accesseur définit unicodeSets sur undefined. Vous ne pouvez pas modifier cette propriété directement.
Exemples
>Utiliser la propriété unicodeSets
const regex = /[\p{Script_Extensions=Greek}&&\p{Letter}]/v;
console.log(regex.unicodeSets); // true
Spécifications
| Spécification |
|---|
| ECMAScript® 2027 Language Specification> # sec-get-regexp.prototype.unicodesets> |
Compatibilité des navigateurs
Voir aussi
- La propriété
RegExp.prototype.lastIndex - La propriété
RegExp.prototype.dotAll - La propriété
RegExp.prototype.global - La propriété
RegExp.prototype.hasIndices - La propriété
RegExp.prototype.ignoreCase - La propriété
RegExp.prototype.multiline - La propriété
RegExp.prototype.source - La propriété
RegExp.prototype.sticky - La propriété
RegExp.prototype.unicode - L'indicateur
vde RegExp avec la notation des ensembles et les propriétés des chaînes de caractères (angl.) sur v8.dev (2022)