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
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
BCD tables only load in the browser
Siehe auch
RegExp.prototype.lastIndex
RegExp.prototype.dotAll
RegExp.prototype.global
RegExp.prototype.hasIndices
RegExp.prototype.ignoreCase
RegExp.prototype.multiline
RegExp.prototype.source
RegExp.prototype.sticky
RegExp.prototype.unicode
- RegExp v-Flag mit Notation für Mengen und Eigenschaften von Strings auf v8.dev (2022)