RegExp.prototype.unicodeSets

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 = new RegExp("[\\p{Lowercase}&&\\p{Script=Greek}]");
const regex2 = new RegExp("[\\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" des u-Flags, das zusätzliche Unicode-bezogene Funktionen ermöglicht. ("v" ist der nächste Buchstabe nach "u" im Alphabet.) Da u und v denselben regulären Ausdruck auf inkompatible Weise interpretieren, führt die Verwendung beider Flags zu einem SyntaxError. Mit dem v-Flag erhalten Sie alle im u-Flag beschriebenen Funktionen sowie:

  • Die \p-Escape-Sequenz kann zusätzlich verwendet werden, um Eigenschaften von Strings anstelle von nur einzelnen Zeichen zu matchen.
  • Die Zeichenklassen-Syntax wird aufgerüstet, um Schnittmengen-, Vereinigungs- und Subtraktions-Syntaxen sowie das Matching mehrerer Unicode-Zeichen zu ermöglichen.
  • Die Komplement-Syntax der Zeichenklasse [^...] erstellt eine Komplement-Klasse anstelle der Negation des Match-Ergebnisses, wodurch einige verwirrende Verhaltensweisen bei der Groß-/Kleinschreibung-agnostischen Übereinstimmung vermieden werden. Weitere Informationen finden Sie unter Komplementklassen und groß-/kleinschreibungsagnostisches Matching.

Einige im u-Modus gültige 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 Zeichenklassen im v-Modus.

Hinweis: Der v-Modus interpretiert Grapheme-Cluster nicht als einzelne Zeichen; sie bleiben weiterhin mehrere Codepunkte. Zum Beispiel kann /[🇺🇳]/v weiterhin "🇺" matchen.

Der Set-Accessor 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® 2025 Language Specification
# sec-get-regexp.prototype.unicodesets

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
unicodeSets

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support

Siehe auch