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

View in English Always switch to English

RegExp.prototype.ignoreCase

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

Die ignoreCase Accessor-Eigenschaft von RegExp Instanzen gibt zurück, ob das i Flag mit diesem regulären Ausdruck verwendet wird oder nicht.

Probieren Sie es aus

const regex1 = /foo/;
const regex2 = /foo/i;

console.log(regex1.test("Football"));
// Expected output: false

console.log(regex2.ignoreCase);
// Expected output: true

console.log(regex2.test("Football"));
// Expected output: true

Beschreibung

RegExp.prototype.ignoreCase hat den Wert true, wenn das i Flag verwendet wurde; andernfalls false. Das i Flag gibt an, dass bei dem Versuch, in einem String eine Übereinstimmung zu finden, die Groß-/Kleinschreibung ignoriert werden soll. Durch die Fallunabhängigkeit wird sowohl die erwartete Zeichensatzmenge als auch der übereinstimmende String auf dieselbe Groß-/Kleinschreibung abgebildet.

Wenn der reguläre Ausdruck Unicode-bewusst ist, erfolgt die Fallabbildung durch simple case folding wie in CaseFolding.txt spezifiziert. Die Abbildung erfolgt immer auf einen einzelnen Codepunkt, sodass ß (U+00DF LATIN SMALL LETTER SHARP S) zum Beispiel nicht in ss abgebildet wird (was full case folding wäre, nicht simple case folding). Es kann jedoch Codepunkte außerhalb des Basic Latin-Blocks zu Codepunkten innerhalb dieses Blocks abbilden — zum Beispiel wird ſ (U+017F LATIN SMALL LETTER LONG S) zu s (U+0073 LATIN SMALL LETTER S) und (U+212A KELVIN SIGN) zu k (U+006B LATIN SMALL LETTER K) abgebildet. Daher können ſ und durch /[a-z]/ui übereinstimmen.

Wenn der reguläre Ausdruck nicht Unicode-bewusst ist, erfolgt die Fallabbildung mittels Unicode Default Case Conversion — demselben Algorithmus, der in String.prototype.toUpperCase() verwendet wird. Dieser Algorithmus verhindert, dass Codepunkte außerhalb des Basic Latin-Blocks zu Codepunkten innerhalb dieses Blocks abgebildet werden, sodass ſ und , wie zuvor erwähnt, nicht von /[a-z]/i übereinstimmen.

Unicode-bewusste Fallabbildung erfolgt allgemein zu Kleinbuchstaben, während Unicode-unbewusste Fallabbildung zu Großbuchstaben erfolgt. Diese beiden sind keine perfekten umgekehrten Operationen, daher gibt es einige subtile Verhaltensunterschiede. Zum Beispiel werden (U+2126 OHM SIGN) und Ω (U+03A9 GREEK CAPITAL LETTER OMEGA) beide durch einfache Fallabbildung zu ω (U+03C9 GREEK SMALL LETTER OMEGA) abgebildet, sodass "\u2126" durch /[\u03c9]/ui und /[\u03a9]/ui übereinstimmt; andererseits wird U+2126 durch die Default Case Conversion auf sich selbst abgebildet, während die anderen beiden auf U+03A9 abgebildet werden, sodass "\u2126" weder durch /[\u03c9]/i noch /[\u03a9]/i übereinstimmt.

Der Set-Accessor von ignoreCase ist undefined. Sie können diese Eigenschaft nicht direkt ändern.

Beispiele

Verwendung von ignoreCase

js
const regex = /foo/i;

console.log(regex.ignoreCase); // true

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-get-regexp.prototype.ignorecase

Browser-Kompatibilität

Siehe auch