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 July 2015.

Die hasIndices-Zugriffsproprietät von RegExp Instanzen gibt zurück, ob das d-Flag mit diesem regulären Ausdruck verwendet wird.

Probieren Sie es aus

const regex1 = new RegExp("foo", "d");

console.log(regex1.hasIndices);
// Expected output: true

const regex2 = new RegExp("bar");

console.log(regex2.hasIndices);
// Expected output: false

Beschreibung

RegExp.prototype.hasIndices hat den Wert true, wenn das d-Flag verwendet wurde; ansonsten false. Das d-Flag zeigt an, dass das Ergebnis eines Matches eines regulären Ausdrucks die Start- und Endindizes der Teilzeichenfolgen jeder Erfassungsgruppe enthalten soll. Es ändert in keiner Weise die Interpretation oder das Verhalten des regulären Ausdrucks beim Matchen, sondern liefert nur zusätzliche Informationen im Match-Ergebnis.

Dieses Flag beeinflusst hauptsächlich den Rückgabewert von exec(). Wenn das d-Flag vorhanden ist, besitzt das von exec() zurückgegebene Array eine zusätzliche indices-Eigenschaft, wie in der Rückgabewertbeschreibung der Methode exec() beschrieben. Da alle anderen regex-bezogenen Methoden (wie String.prototype.match()) exec() intern aufrufen, geben sie die Indizes ebenfalls zurück, wenn der reguläre Ausdruck das d-Flag besitzt.

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

Beispiele

Es gibt ein detaillierteres Nutzungsbeispiel unter Gruppen und Rückverweise > Verwendung von Gruppen und Match-Indizes.

Verwendung von hasIndices

js
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® 2025 Language Specification
# sec-get-regexp.prototype.hasIndices

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch