Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. Reguläre Ausdrücke
  5. Disjunction: |

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

View in EnglishAlways switch to English

Disjunction: |

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⁩.

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

Syntax

regex
alternative1|alternative2alternative1|alternative2|alternative3|…

Parameter

alternativeN

Ein alternatives Muster, bestehend aus einer Sequenz vonAtomen 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 mehrAlternativen. 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:

js
/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 siegruppieren.

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:

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

Dies ist, weil durch die Auswahl vona in der ersten Alternative die Möglichkeit besteht,bc in der zweiten Alternative auszuwählen und eine erfolgreiche Übereinstimmung zu erzielen. Dieser Prozess wirdBacktracking 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 einerLookbehind umgekehrt ist).

Beispiele

Übereinstimmung von Dateierweiterungen

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

js
function isImage(filename) {  return /\.(?:png|jpe?g|webp|avif|gif)$/i.test(filename);}isImage("image.png"); // trueisImage("image.jpg"); // trueisImage("image.pdf"); // false

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# prod-Disjunction

Browser-Kompatibilität

Siehe auch

Help improve MDN

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

[8]ページ先頭

©2009-2025 Movatter.jp