Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. Eingebaute Standardobjekte
  5. RegExp
  6. RegExp()

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

RegExp() Konstruktor

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.

DerRegExp() Konstruktor erstelltRegExp Objekte.

Für eine Einführung in reguläre Ausdrücke lesen Sie dasKapitel über reguläre Ausdrücke imJavaScript-Leitfaden.

Probieren Sie es aus

const regex1 = /\w+/;const regex2 = new RegExp("\\w+");console.log(regex1);// Expected output: /\w+/console.log(regex2);// Expected output: /\w+/console.log(regex1 === regex2);// Expected output: false

Syntax

js
new RegExp(pattern)new RegExp(pattern, flags)RegExp(pattern)RegExp(pattern, flags)

Hinweis:RegExp() kann mit oder ohnenew aufgerufen werden, jedoch manchmal mit unterschiedlichen Effekten. SieheRückgabewert.

Parameter

pattern

Der Text des regulären Ausdrucks. Dies kann auch ein anderesRegExp-Objekt sein.

flagsOptional

Wenn angegeben, istflags ein String, der die hinzuzufügenden Flags enthält. Alternativ ersetzt derflags-String alle Flags des geliefertenRegExp-Objekts alspattern (undlastIndex wird auf0 zurückgesetzt).

flags kann eine beliebige Kombination der folgenden Zeichen enthalten:

d (indices)

Erzeugt Indizes für Teilstring-Übereinstimmungen.

g (global)

Findet alle Übereinstimmungen anstelle des Stopps nach der ersten Übereinstimmung.

i (ignore case)

Unterschiede in der Groß-/Kleinschreibung werden beim Abgleich ignoriert.

m (multiline)

Behandelt Anfangs- und Endprüfungen (^ und$) als über mehrere Zeilen hinweg wirkend. Anders ausgedrückt, es wird der Anfang oder das Endejeder Zeile (durch\n oder\r begrenzt) abgeglichen, nicht nur der sehr Anfang oder das Ende der gesamten Eingabe.

s (dotAll)

Erlaubt es. Zeilenumbrüche zu matchen.

u (unicode)

Behandeltpattern als eine Folge von Unicode-Codepunkte.

v (unicodeSets)

Ein Upgrade desu-Flags, das Set-Notation in Zeichenklassen sowie Zeichenketteneigenschaften ermöglicht.

y (sticky)

Passt nur ab dem durch dielastIndex-Eigenschaft dieses regulären Ausdrucks im Zielstring angegebenen Index. Versucht nicht, von späteren Indizes aus abzugleichen.

Rückgabewert

RegExp(pattern) gibtpattern direkt zurück, wenn alle folgenden Bedingungen zutreffen:

  • RegExp() wird ohnenew aufgerufen;
  • pattern ist ein Regex;
  • pattern.constructor === RegExp (meistens bedeutet dies, dass es keine Unterklasse ist);
  • flags istundefined.

In allen anderen Fällen erzeugt der Aufruf vonRegExp() mit oder ohnenew ein neuesRegExp-Objekt. Wennpattern ein Regex ist, ist diesource des neuen Objektspattern.source; andernfalls ist seine Quellepatternin einen String umgewandelt. Wenn derflags-Parameter nichtundefined ist, ist das neue Objektflags der Wert des Parameters; andernfalls istflags des Objektspattern.flags (fallspattern ein Regex ist).

Ausnahmen

SyntaxError

Wird in einer der folgenden Fälle ausgelöst:

  • pattern kann nicht als gültiger regulärer Ausdruck analysiert werden.
  • flags enthält wiederholte Zeichen oder ein nicht erlaubtes Zeichen.

Beispiele

Literale Notation und Konstruktor

Es gibt zwei Möglichkeiten, einRegExp-Objekt zu erstellen: eineliterale Notation und einenKonstruktor.

  • Dieliterale Notation nimmt ein Muster zwischen zwei Schrägstrichen, gefolgt von optionalen Flags, nach dem zweiten Schrägstrich.
  • DieKonstruierungsfunktion nimmt entweder einen String oder einRegExp-Objekt als ersten Parameter und einen String von optionalen Flags als zweiten Parameter.

Die folgenden drei Ausdrücke erstellen den gleichen regulären Ausdruck:

js
/ab+c/i;new RegExp(/ab+c/, "i"); // literal notationnew RegExp("ab+c", "i"); // constructor

Bevor reguläre Ausdrücke verwendet werden können, müssen sie kompiliert werden. Dieser Prozess ermöglicht es ihnen, effizienter Übereinstimmungen zu erzielen. Es gibt zwei Möglichkeiten, einRegExp-Objekt zu kompilieren und zu erhalten.

Die literale Notation führt zur Kompilierung des regulären Ausdrucks, wenn der Ausdruck ausgewertet wird. Andererseits führt der Konstruktor desRegExp-Objekts,new RegExp('ab+c'), zur Laufzeitkompilierung des regulären Ausdrucks.

Verwenden Sie einen String als das erste Argument desRegExp()-Konstruktors, wenn Sieden regulären Ausdruck aus dynamischen Eingaben erstellen möchten.

Erstellen eines regulären Ausdrucks aus dynamischen Eingaben

js
const breakfasts = ["bacon", "eggs", "oatmeal", "toast", "cereal"];const order = "Let me get some bacon and eggs, please";order.match(new RegExp(`\\b(${breakfasts.join("|")})\\b`, "g"));// Returns ['bacon', 'eggs']

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-regexp-constructor

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2026 Movatter.jp