Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
RegExp.prototype.dotAll
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2020.
DiedotAll Zugriffsoroperty vonRegExp Instanzen gibt zurück, ob dass-Flag mit diesem regulären Ausdruck verwendet wird oder nicht.
In diesem Artikel
Probieren Sie es aus
const regex1 = /f.o/s;console.log(regex1.dotAll);// Expected output: trueconst regex2 = /bar/;console.log(regex2.dotAll);// Expected output: falseBeschreibung
RegExp.prototype.dotAll hat den Werttrue, wenn dass-Flag verwendet wurde; ansonstenfalse. Dass-Flag gibt an, dass das spezielle Zeichen Punkt (.) zusätzlich die folgenden Zeilenabschlusszeichen ("Newline") in einem String übereinstimmen soll, die es ansonsten nicht übereinstimmen würde:
- U+000A LINE FEED (LF) (
\n) - U+000D CARRIAGE RETURN (CR) (
\r) - U+2028 LINE SEPARATOR
- U+2029 PARAGRAPH SEPARATOR
Das bedeutet effektiv, dass der Punkt jede UTF-16-Codeeinheit übereinstimmen wird. Es wird jedochnicht mit Zeichen übereinstimmen, die außerhalb der Unicode Basic Multilingual Plane (BMP) liegen, auch bekannt als astrale Zeichen, die alsSurrogatpaare dargestellt werden, und erfordert das Übereinstimmen mit zwei. Mustern statt einem.
"😄".match(/(.)(.)/s);// Array(3) [ "😄", "\ud83d", "\ude04" ]Dasu (unicode) Flag kann verwendet werden, um dem Punkt zu ermöglichen, astrale Zeichen als einzelnes Zeichen zu übereinstimmen.
"😄".match(/./su);// Array [ "😄" ]Beachten Sie, dass ein Muster wie.* immer noch in der Lage ist, astrale Zeichen als Teil eines größeren Kontexteszu konsumieren, auch ohne dasu-Flag.
"😄".match(/.*/s);// Array [ "😄" ]Die gleichzeitige Verwendung vons undu Flags ermöglicht es dem Punkt, jedes Unicode-Zeichen auf eine intuitivere Weise zu übereinstimmen.
Der Set-Zugriffsoroperty vondotAll istundefined. Sie können diese Eigenschaft nicht direkt ändern.
Beispiele
>Verwendung von dotAll
const str1 = "bar\nexample foo example";const regex1 = /bar.example/s;console.log(regex1.dotAll); // trueconsole.log(str1.replace(regex1, "")); // foo exampleconst str2 = "bar\nexample foo example";const regex2 = /bar.example/;console.log(regex2.dotAll); // falseconsole.log(str2.replace(regex2, ""));// bar// example foo exampleSpezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-get-regexp.prototype.dotAll> |