Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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 \p kann 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

js
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