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
Accessor-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 ermöglicht. ("v" ist der nächste Buchstabe nach "u" im Alphabet.) Da u
und v
denselben Regex auf inkompatible Weise interpretieren, führt die Verwendung beider Flags zu einem SyntaxError
. Mit dem v
-Flag erhalten Sie alle in der Beschreibung des u
-Flags erwähnten 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 Schnittmengen-, Vereinigungs- und Subtraktions-Syntaxen sowie das Matchen mehrerer Unicode-Zeichen zu ermöglichen.
- Die Komplementärsyntax von Zeichenklassen
[^...]
konstruiert eine Komplementärklasse, anstatt das Matchergebnis zu negieren, um einige verwirrende Verhaltensweisen beim nicht case-sensitiven Matching zu vermeiden. Weitere Informationen finden Sie unter Komplementärklassen und nicht case-sensitives Matching.
Einige gültige Regexe im u
-Modus werden im v
-Modus ungültig. Insbesondere ist die Syntax der Zeichenklassen 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 immer noch mehrere Code-Punkte. Zum Beispiel kann /[🇺🇳]/v
immer noch "🇺"
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® 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 Mengenotation und Eigenschaften von Zeichenfolgen auf v8.dev (2022)