Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Seit September 2025 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.
Ein Modifier überschreibt die Flag-Einstellungen in einem bestimmten Teil eines regulären Ausdrucks. Er kann verwendet werden, um Flags zu aktivieren oder zu deaktivieren, die die Bedeutungen bestimmter Regex-Syntaxelemente ändern. Diese Flags sind i, m und s.
Hinweis: JavaScript hat nur die "bounded" Modifier-Form, bei der das Muster innerhalb der Modifier-Gruppe platziert wird. Die meisten anderen Sprachen, die Modifier unterstützen, haben eine "unbounded" Form, bei der der Modifier bis zum Ende der am nächsten liegenden umschließenden Gruppe angewendet wird.
Eine Zeichenkette von Flags, die aktiviert werden sollen. Kann jede Kombination von i, m und s enthalten.
flags2 OptionalEine Zeichenkette von Flags, die deaktiviert werden sollen. Kann jede Kombination von i, m und s enthalten, darf jedoch keine Flags enthalten, die in flags1 enthalten sind.
patternEin Muster, das alles enthält, was Sie in einem Regex-Literal verwenden können, einschließlich einer Disjunction.
Einige Flags ändern die Bedeutungen von Regex-Syntaxelementen:
Manchmal möchten Sie, dass diese Änderungen nur in einem bestimmten Teil eines Regex-Musters wirksam werden. Sie können dies tun, indem Sie diesen Teil in einen Modifier einschließen. Zum Beispiel:
In diesem Regex ist das i-Flag nur für den Hello-Teil des Musters aktiviert. Der world-Teil ist groß-/klein-schreibungssensitiv. Daher passt es zu Hello world, hello world und HELLO world, aber nicht zu HELLO WORLD. Das Folgende ist gleichwertig, indem das i-Flag global aktiviert und dann für den world-Teil deaktiviert wird:
Die Parameter flags1 und flags2 können jede Kombination von i, m und s enthalten. Die Flags müssen jedoch eineindeutig zwischen flags1 und flags2 sein — Sie können ein Flag nicht doppelt aktivieren oder deaktivieren oder ein Flag aktivieren und dann sofort deaktivieren.
Die Parameter flags1 und flags2 sind optional, aber mindestens einer muss nicht leer sein. (?flags1-:pattern) ist ein Modifier, der nur Flags aktiviert (äquivalent zu (?flags1:pattern)). (?-flags2:pattern) ist ein Modifier, der nur Flags deaktiviert. (?:pattern) ist nur eine nicht-erfassende Gruppe, und (?-:pattern) ist ein Syntaxfehler.
Andere Flags sind in einem Modifier unsinnig und führen zu Syntaxfehlern, wenn sie eingeschlossen werden:
Der folgende Regex definiert ein Format für eine mehrzeilige Zeichenkette. Das erste ^ stellt den Anfang der gesamten Eingabezeichenkette dar, indem es sich innerhalb eines (?-m:)-Modifiers befindet, während alle anderen ^-Zeichen den Anfang einer Zeile darstellen:
Stellen Sie sich vor, Sie suchen alle Variablendeklarationen, die foo oder bar heißen (da sie schlechte Namen sind). Das Wort kann in beliebiger Groß-/Kleinschreibung erscheinen, aber Sie wissen, dass das Schlüsselwort immer in Kleinbuchstaben ist, also können Sie das tun:
| ECMAScript® 2027 Language Specification # prod-RegularExpressionModifiers |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.