Baseline Widely available
Der RegExp()
Konstruktor erstellt RegExp
Objekte.
Für eine Einführung in reguläre Ausdrücke lesen Sie das Kapitel über reguläre Ausdrücke im JavaScript-Leitfaden.
Probieren Sie es ausconst 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
new RegExp(pattern)
new RegExp(pattern, flags)
RegExp(pattern)
RegExp(pattern, flags)
Hinweis: RegExp()
kann mit oder ohne new
aufgerufen werden, jedoch manchmal mit unterschiedlichen Effekten. Siehe Rückgabewert.
pattern
Der Text des regulären Ausdrucks. Dies kann auch ein anderes RegExp
-Objekt sein.
flags
Optional
Wenn angegeben, ist flags
ein String, der die hinzuzufügenden Flags enthält. Alternativ ersetzt der flags
-String alle Flags des gelieferten RegExp
-Objekts als pattern
(und lastIndex
wird auf 0
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 Ende jeder 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)
Behandelt pattern
als eine Folge von Unicode-Codepunkte.
v
(unicodeSets)
Ein Upgrade des u
-Flags, das Set-Notation in Zeichenklassen sowie Zeichenketteneigenschaften ermöglicht.
y
(sticky)
Passt nur ab dem durch die lastIndex
-Eigenschaft dieses regulären Ausdrucks im Zielstring angegebenen Index. Versucht nicht, von späteren Indizes aus abzugleichen.
RegExp(pattern)
gibt pattern
direkt zurück, wenn alle folgenden Bedingungen zutreffen:
RegExp()
wird ohne new
aufgerufen;pattern
ist ein Regex;pattern.constructor === RegExp
(meistens bedeutet dies, dass es keine Unterklasse ist);flags
ist undefined
.In allen anderen Fällen erzeugt der Aufruf von RegExp()
mit oder ohne new
ein neues RegExp
-Objekt. Wenn pattern
ein Regex ist, ist die source des neuen Objekts pattern.source
; andernfalls ist seine Quelle pattern
in einen String umgewandelt. Wenn der flags
-Parameter nicht undefined
ist, ist das neue Objekt flags
der Wert des Parameters; andernfalls ist flags
des Objekts pattern.flags
(falls pattern
ein Regex ist).
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.Es gibt zwei Möglichkeiten, ein RegExp
-Objekt zu erstellen: eine literale Notation und einen Konstruktor.
RegExp
-Objekt als ersten Parameter und einen String von optionalen Flags als zweiten Parameter.Die folgenden drei Ausdrücke erstellen den gleichen regulären Ausdruck:
/ab+c/i;
new RegExp(/ab+c/, "i"); // literal notation
new 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, ein RegExp
-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 des RegExp
-Objekts, new RegExp('ab+c')
, zur Laufzeitkompilierung des regulären Ausdrucks.
Verwenden Sie einen String als das erste Argument des RegExp()
-Konstruktors, wenn Sie den regulären Ausdruck aus dynamischen Eingaben erstellen möchten.
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 Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4