RegExp.prototype.unicodeSets
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2023 browserübergreifend verfügbar.
Die Accessor-Eigenschaft unicodeSets von RegExp-Instanzen gibt zurück, ob das Flag v mit diesem regulären Ausdruck verwendet wird oder nicht.
Probieren Sie es aus
const regex1 = /[α-ω]/u;
const regex2 = /[\p{Lowercase}&&\p{Script=Greek}]/v;
console.log(regex1.unicodeSets);
// Expected output: false
console.log(regex2.unicodeSets);
// Expected output: true
Beschreibung
RegExp.prototype.unicodeSets hat den Wert true, wenn das Flag v verwendet wurde; andernfalls false. Das Flag v ist ein „Upgrade“ des Flags u, das mehr Unicode-bezogene Funktionen aktiviert. („v“ ist im Alphabet der nächste Buchstabe nach „u“.) Da u und v denselben regulären Ausdruck auf inkompatible Weise interpretieren, führt die Verwendung beider Flags zu einem SyntaxError. Mit dem Flag v erhalten Sie alle in der Beschreibung des Flags u genannten Funktionen sowie:
- Die Escape-Sequenz
\pkann zusätzlich verwendet werden, um Eigenschaften von Zeichenketten statt nur von Zeichen abzugleichen. - Die Syntax für Zeichenklassen wird erweitert, um Syntax für Schnittmenge, Vereinigung und Subtraktion sowie den Abgleich mehrerer Unicode-Zeichen zu ermöglichen.
- Die Komplementsyntax für Zeichenklassen
[^...]erzeugt eine Komplementklasse, anstatt das Abgleichsergebnis zu negieren. Dadurch werden einige verwirrende Verhaltensweisen beim Abgleich ohne Berücksichtigung der Groß- und Kleinschreibung vermieden. Weitere Informationen finden Sie unter Komplementklassen und Abgleich ohne Berücksichtigung der Groß- und Kleinschreibung.
Einige gültige reguläre Ausdrücke im u-Modus werden im v-Modus ungültig. Insbesondere unterscheidet sich die Syntax für Zeichenklassen, und einige Zeichen können nicht mehr als Literale erscheinen. Weitere Informationen finden Sie unter Zeichenklasse im v-Modus.
Hinweis:
Der v-Modus interpretiert Graphemcluster nicht als einzelne Zeichen; sie bestehen weiterhin aus mehreren Codepunkten. Beispielsweise kann /[🇺🇳]/v weiterhin "🇺" abgleichen.
Der Set-Accessor von unicodeSets ist undefined. Sie können diese Eigenschaft nicht direkt ändern.
Beispiele
>Verwenden der Eigenschaft unicodeSets
const regex = /[\p{Script_Extensions=Greek}&&\p{Letter}]/v;
console.log(regex.unicodeSets); // true
Spezifikationen
| Spezifikation |
|---|
| ECMAScript® 2027 Language Specification> # sec-get-regexp.prototype.unicodesets> |
Browser-Kompatibilität
Siehe auch
RegExp.prototype.lastIndexRegExp.prototype.dotAllRegExp.prototype.globalRegExp.prototype.hasIndicesRegExp.prototype.ignoreCaseRegExp.prototype.multilineRegExp.prototype.sourceRegExp.prototype.stickyRegExp.prototype.unicode- RegExp-v-Flag mit Mengennotation und Eigenschaften von Zeichenketten auf v8.dev (2022)