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 2023
Newly available

Since ⁨September 2023⁩, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Die unicodeSets Zugriffseigenschaft von RegExp-Instanzen gibt an, ob das v-Flag mit diesem regulären Ausdruck verwendet wird oder nicht.

Probieren Sie es aus

const regex1 = /[\p{Lowercase}&&\p{Script=Greek}]/;
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 v-Flag verwendet wurde; andernfalls false. Das v-Flag ist ein "Upgrade" zum u-Flag, das mehr Unicode-bezogene Funktionen aktiviert. ("v" ist der nächste Buchstabe nach "u" im Alphabet.) Da u und v dasselbe Regex auf inkompatible Weise interpretieren, führt die Verwendung beider Flags zu einem SyntaxError. Mit dem v-Flag erhalten Sie alle Funktionen, die in der Beschreibung des u-Flags erwähnt werden, plus:

  • Die \p Escape-Sequenz kann zusätzlich verwendet werden, um Eigenschaften von Zeichenfolgen zu matchen, anstatt nur Zeichen.
  • Die [Zeichenklassen]-Syntax(/de/docs/Web/JavaScript/Reference/Regular_expressions/Character_class) wird dahingehend erweitert, dass sie Schnittmengen-, Vereinigungs- und Subtraktionssyntaxe sowie das Matchen mehrerer Unicode-Zeichen ermöglicht.
  • Die Komplement-Syntax von Zeichenklassen [^...] erstellt eine Komplementklasse anstatt das Matchergebnis zu negieren, wodurch einige verwirrende Verhaltensweisen bei der Groß-/Kleinschreibung vermieden werden. Weitere Informationen finden Sie unter Komplementklassen und Groß-/Kleinschreibungsabgleich.

Einige gültige u-Modus-Regexe werden im v-Modus ungültig. Insbesondere ist die Zeichenklassen-Syntax unterschiedlich und einige Zeichen können nicht mehr wörtlich erscheinen. Weitere Informationen finden Sie unter v-Modus Zeichenklasse.

Hinweis: Der v-Modus interpretiert keine Graphem-Cluster als einzelne Zeichen; sie sind nach wie vor mehrere Codepunkte. Zum Beispiel kann /[🇺🇳]/v immer noch "🇺" matchen.

Der Set-Zutritt von unicodeSets ist undefined. Sie können diese Eigenschaft nicht direkt ändern.

Beispiele

Verwendung der unicodeSets-Eigenschaft

js
const regex = /[\p{Script_Extensions=Greek}&&\p{Letter}]/v;

console.log(regex.unicodeSets); // true

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-get-regexp.prototype.unicodesets

Browser-Kompatibilität

Siehe auch