RegExp.prototype.hasIndices
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.
Die Zugriffsproperty hasIndices
von Instanzen des RegExp
gibt zurück, ob das d
-Flag mit diesem regulären Ausdruck verwendet wird oder nicht.
Probieren Sie es aus
const regex1 = /foo/d;
console.log(regex1.hasIndices);
// Expected output: true
const regex2 = /bar/;
console.log(regex2.hasIndices);
// Expected output: false
Beschreibung
RegExp.prototype.hasIndices
hat den Wert true
, wenn das d
-Flag verwendet wurde; andernfalls false
. Das d
-Flag zeigt an, dass das Ergebnis eines regulären Ausdrucks-Matches die Start- und Endindizes der Substrings jeder Erfassungsgruppe enthalten soll. Es ändert in keiner Weise die Interpretation oder das Matching-Verhalten des Regex, sondern liefert nur zusätzliche Informationen im Matchergebnis.
Dieses Flag beeinflusst hauptsächlich den Rückgabewert von exec()
. Wenn das d
-Flag vorhanden ist, hat das von exec()
zurückgegebene Array eine zusätzliche indices
-Eigenschaft, wie es im Rückgabewert der exec()
-Methode beschrieben wird. Da alle anderen regex-bezogenen Methoden (wie String.prototype.match()
) exec()
intern aufrufen, geben sie auch die Indizes zurück, wenn das Regex das d
-Flag hat.
Der Set-Accessor von hasIndices
ist undefined
. Sie können diese Eigenschaft nicht direkt ändern.
Beispiele
Es gibt ein ausführlicheres Anwendungsbeispiel unter Gruppen und Rückverweise > Verwendung von Gruppen und Match-Indizes.
Verwendung von hasIndices
const str1 = "foo bar foo";
const regex1 = /foo/dg;
console.log(regex1.hasIndices); // true
console.log(regex1.exec(str1).indices[0]); // [0, 3]
console.log(regex1.exec(str1).indices[0]); // [8, 11]
const str2 = "foo bar foo";
const regex2 = /foo/;
console.log(regex2.hasIndices); // false
console.log(regex2.exec(str2).indices); // undefined
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-get-regexp.prototype.hasIndices |