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

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
hasIndices

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch