A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Regular_expressions/Disjunction below:

Disjunction: | - JavaScript | MDN

Disjunction: |

Baseline Widely available

Eine Disjunktion spezifiziert mehrere Alternativen. Jede Alternative, die mit der Eingabe übereinstimmt, führt dazu, dass die gesamte Disjunktion übereinstimmt.

Syntax
alternative1|alternative2
alternative1|alternative2|alternative3|…
Parameter
alternativeN

Ein alternatives Muster, bestehend aus einer Sequenz von Atomen und Assertions. Das erfolgreiche Übereinstimmen einer Alternative führt dazu, dass die gesamte Disjunktion übereinstimmt.

Beschreibung

Der | Operator im regulären Ausdruck trennt zwei oder mehr Alternativen. Das Muster versucht zuerst, mit der ersten Alternative zu übereinstimmen; falls es fehlschlägt, versucht es, mit der zweiten Alternative zu übereinstimmen und so weiter. Zum Beispiel passt das folgende Beispiel "a" statt "ab", weil die erste Alternative bereits erfolgreich übereinstimmt:

/a|ab/.exec("abc"); // ['a']

Der | Operator hat die niedrigste Priorität in einem regulären Ausdruck. Möchten Sie eine Disjunktion als Teil eines größeren Musters verwenden, müssen Sie sie gruppieren.

Wenn eine gruppierte Disjunktion mehr Ausdrücke danach hat, beginnt die Übereinstimmung, indem die erste Alternative ausgewählt und versucht wird, den Rest des regulären Ausdrucks zu matchen. Wenn der Rest des regulären Ausdrucks nicht übereinstimmt, versucht der Matcher stattdessen die nächste Alternative. Beispielsweise:

/(?:(a)|(ab))(?:(c)|(bc))/.exec("abc"); // ['abc', 'a', undefined, undefined, 'bc']
// Not ['abc', undefined, 'ab', 'c', undefined]

Dies ist, weil durch die Auswahl von a in der ersten Alternative die Möglichkeit besteht, bc in der zweiten Alternative auszuwählen und eine erfolgreiche Übereinstimmung zu erzielen. Dieser Prozess wird Backtracking genannt, weil der Matcher zuerst über die Disjunktion hinausgeht und dann zurückkommt, wenn das nachfolgende Matching fehlschlägt.

Beachten Sie auch, dass Klammern innerhalb einer Alternative, die nicht gematcht wird, undefined im resultierenden Array produzieren.

Eine Alternative kann leer sein; in diesem Fall entspricht sie der leeren Zeichenkette (mit anderen Worten, sie passt immer).

Alternativen werden immer von links nach rechts versucht, unabhängig von der Matching-Richtung (die in einer Lookbehind umgekehrt ist).

Beispiele Übereinstimmung von Dateierweiterungen

Im folgenden Beispiel werden Dateierweiterungen mit dem gleichen Code gematcht wie im Artikel über die Eingangsgrenzwert-Assertion:

function isImage(filename) {
  return /\.(?:png|jpe?g|webp|avif|gif)$/i.test(filename);
}

isImage("image.png"); // true
isImage("image.jpg"); // true
isImage("image.pdf"); // false
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