Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
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.
DieignoreCase Accessor-Eigenschaft vonRegExp Instanzen gibt zurück, ob dasi Flag mit diesem regulären Ausdruck verwendet wird oder nicht.
In diesem Artikel
Probieren Sie es aus
const regex1 = /foo/;const regex2 = /foo/i;console.log(regex1.test("Football"));// Expected output: falseconsole.log(regex2.ignoreCase);// Expected output: trueconsole.log(regex2.test("Football"));// Expected output: trueBeschreibung
RegExp.prototype.ignoreCase hat den Werttrue, wenn dasi Flag verwendet wurde; andernfallsfalse. Dasi 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 AusdruckUnicode-bewusst ist, erfolgt die Fallabbildung durchsimple case folding wie inCaseFolding.txt spezifiziert. Die Abbildung erfolgt immer auf einen einzelnen Codepunkt, sodassß (U+00DF LATIN SMALL LETTER SHARP S) zum Beispiel nicht inss abgebildet wird (wasfull case folding wäre, nichtsimple 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) zus (U+0073 LATIN SMALL LETTER S) undK (U+212A KELVIN SIGN) zuk (U+006B LATIN SMALL LETTER K) abgebildet. Daher könnenſ undK durch/[a-z]/ui übereinstimmen.
Wenn der reguläre Ausdruck nicht Unicode-bewusst ist, erfolgt die Fallabbildung mittelsUnicode Default Case Conversion — demselben Algorithmus, der inString.prototype.toUpperCase() verwendet wird. Dieser Algorithmus verhindert, dass Codepunkte außerhalb des Basic Latin-Blocks zu Codepunkten innerhalb dieses Blocks abgebildet werden, sodassſ undK, 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 vonignoreCase istundefined. Sie können diese Eigenschaft nicht direkt ändern.
Beispiele
>Verwendung von ignoreCase
const regex = /foo/i;console.log(regex.ignoreCase); // trueSpezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-get-regexp.prototype.ignorecase> |