RegExp.prototype.unicodeSets
Baseline 2023Newly 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
Zugriffs-Eigenschaft von RegExp
-Instanzen gibt zurück, 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" des u
-Flags, das mehr Unicode-bezogene Funktionen aktiviert. ("v" ist der nächste Buchstabe nach "u" im Alphabet.) Da u
und v
den gleichen Regex auf inkompatible Weise interpretieren, führt die Verwendung beider Flags zu einem SyntaxError
. Mit dem v
-Flag erhalten Sie alle in der u
-Flag-Beschreibung genannten Funktionen sowie:
- Die
\p
Escape-Sequenz kann zusätzlich verwendet werden, um Eigenschaften von Zeichenfolgen zu matchen, anstatt nur Zeichen. - Die Zeichenklassen-Syntax wird erweitert, um Schnitt-, Vereinigungs- und Subtraktionssyntaxe sowie das Matchen mehrerer Unicode-Zeichen zu ermöglichen.
- Die Komplement-Syntax der Zeichenklasse
[^...]
konstruiert eine Komplement-Klasse, anstatt das Matchergebnis zu negieren, was einige verwirrende Verhaltensweisen bei der Groß-/Kleinschreibung vermeidet. Weitere Informationen finden Sie unter Komplement-Klassen und Groß-/Kleinschreibungs-Matching.
Einige gültige Regexe im u
-Modus werden im v
-Modus ungültig. Insbesondere die Syntax der Zeichenklasse ist unterschiedlich, und einige Zeichen können nicht mehr wörtlich erscheinen. Weitere Informationen finden Sie unter v
-Modus Zeichenklasse.
Hinweis:
Der v
-Modus interpretiert Grapheme-Cluster nicht als einzelne Zeichen; sie sind weiterhin mehrere Codepunkte. Beispielsweise kann /[🇺🇳]/v
weiterhin "🇺"
matchen.
Der Set-Zugriff 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® 2026 Language Specification # sec-get-regexp.prototype.unicodesets |
Browser-Kompatibilität
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 Mengennotation und Eigenschaften von Zeichenfolgen auf v8.dev (2022)