Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
RegExp.prototype.unicode
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.
Dieunicode Accessor-Eigenschaft vonRegExp-Instanzen gibt an, ob dasu-Flag mit diesem regulären Ausdruck verwendet wird oder nicht.
In diesem Artikel
Probieren Sie es aus
const regex1 = /\u{61}/;const regex2 = /\u{61}/u;console.log(regex1.unicode);// Expected output: falseconsole.log(regex2.unicode);// Expected output: trueBeschreibung
RegExp.prototype.unicode hat den Werttrue, wenn dasu-Flag verwendet wurde; andernfallsfalse. Dasu-Flag aktiviert verschiedene Unicode-bezogene Funktionen. Mit dem "u"-Flag:
- AlleUnicode-Codepunkt-Escapes (
\u{xxxx},\p{UnicodePropertyValue}) werden als solche interpretiert statt als Identitäts-Escapes. Zum Beispiel/\u{61}/uentspricht"a", aber/\u{61}/(ohneu-Flag) entspricht"u".repeat(61), wobei\ueinem einzelnenuentspricht. - Surrogatpaare werden als ganze Zeichen statt als zwei separate Zeichen interpretiert. Zum Beispiel würde
/[😄]/unur"😄"entsprechen, aber nicht"\ud83d". - Wenn
lastIndexautomatisch weitergesetzt wird (wie beim Aufrufen vonexec()), werden Unicode-RegExps nach Unicode-Codepunkten und nicht nach UTF-16-Codeeinheiten vorgerückt.
Es gibt andere Änderungen im Parsing-Verhalten, die mögliche Syntaxfehler verhindern (analog zuStrict Mode für Regex-Syntax). Diese Syntaxen sind alleveraltet und werden nur für Webkompatibilität beibehalten, und Sie sollten sich nicht auf sie verlassen.
Der set-Accessor vonunicode istundefined. Sie können diese Eigenschaft nicht direkt ändern.
Unicode-bewusster Modus
Wenn wir vonUnicode-bewusstem Modus sprechen, meinen wir, dass der Regex entweder dasu- oder dasv-Flag hat, in welchem Fall der Regex Unicode-bezogene Funktionen aktiviert (wieUnicode-Zeichenklassen-Escape) und viel strengere Syntaxregeln hat. Dau undv denselben Regex auf inkompatible Weise interpretieren, führt die Verwendung beider Flags zu einemSyntaxError.
Ähnlich ist ein RegexUnicode-unabhängig, wenn er weder dasu- noch dasv-Flag hat. In diesem Fall wird der Regex als eine Folge von UTF-16-Codeeinheiten interpretiert, und es gibt viele alte Syntaxen, die keine Syntaxfehler werden.
Beispiele
>Verwendung der unicode-Eigenschaft
const regex = /\u{61}/u;console.log(regex.unicode); // trueSpezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-get-regexp.prototype.unicode> |