String.prototype.search()

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 search()-Methode von String-Werten führt eine Suche nach einem Muster zwischen einem regulären Ausdruck und diesem String durch und gibt den Index des ersten Übereinstimmungs-Treffers im String zurück.

Probieren Sie es aus

Syntax

js
search(regexp)

Parameter

regexp

Ein reguläres Ausdrucksobjekt oder jedes Objekt, das eine Symbol.search-Methode hat.

Wenn regexp kein RegExp-Objekt ist und keine Symbol.search-Methode hat, wird es implizit in ein RegExp umgewandelt, indem new RegExp(regexp) verwendet wird.

Rückgabewert

Der Index des ersten Treffers zwischen dem regulären Ausdruck und dem gegebenen String oder -1, wenn kein Treffer gefunden wurde.

Beschreibung

Die Implementierung von String.prototype.search() ist sehr einfach – sie ruft einfach die Symbol.search-Methode des Arguments mit dem String als ersten Parameter auf. Die eigentliche Implementierung stammt von RegExp.prototype[Symbol.search]().

Das g-Flag von regexp hat keinen Effekt auf das search()-Ergebnis, und die Suche erfolgt immer, als ob der lastIndex des Regex 0 wäre. Für weitere Informationen über das Verhalten von search() siehe RegExp.prototype[Symbol.search]().

Wenn Sie wissen möchten, ob ein Muster gefunden wird, und auch den Index innerhalb eines Strings wissen möchten, verwenden Sie search().

Beispiele

Das folgende Beispiel durchsucht einen String mit zwei verschiedenen Regex-Objekten, um eine erfolgreiche Suche (positiver Wert) vs. eine erfolglose Suche (-1) zu zeigen.

js
const str = "hey JudE";
const re = /[A-Z]/;
const reDot = /[.]/;
console.log(str.search(re)); // returns 4, which is the index of the first capital letter "J"
console.log(str.search(reDot)); // returns -1 cannot find '.' dot punctuation

Spezifikationen

Specification
ECMAScript Language Specification
# sec-string.prototype.search

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch