Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

String.prototype.search()

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.

Die Methode search() von String-Werten sucht nach einer Übereinstimmung zwischen einem regulären Ausdruck und diesem String und gibt den Index der ersten Übereinstimmung im String zurück.

Probieren Sie es aus

const paragraph = "I think Ruth's dog is cuter than your dog!";

// Anything not a word character, whitespace or apostrophe
const regex = /[^\w\s']/g;

console.log(paragraph.search(regex));
// Expected output: 41

console.log(paragraph[paragraph.search(regex)]);
// Expected output: "!"

Syntax

js
search(regexp)

Parameter

regexp

Ein Objekt mit einem regulären Ausdruck oder ein beliebiges Objekt mit einer Symbol.search-Methode.

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

Rückgabewert

Der Index der ersten Übereinstimmung zwischen dem regulären Ausdruck und dem angegebenen String oder -1, wenn keine Übereinstimmung gefunden wurde.

Beschreibung

Die Implementierung von String.prototype.search() ruft lediglich die Symbol.search-Methode des Arguments mit dem String als erstem Parameter auf. Die eigentliche Implementierung befindet sich in RegExp.prototype[Symbol.search]().

Das g-Flag von regexp hat keinen Einfluss auf das Ergebnis von search(). Die Suche erfolgt immer so, als wäre lastIndex des regulären Ausdrucks gleich 0. Weitere Informationen zum Verhalten von search() finden Sie unter RegExp.prototype[Symbol.search]().

Wenn Sie wissen möchten, ob ein Muster gefunden wurde, und auch dessen Index innerhalb eines Strings benötigen, verwenden Sie search().

Beispiele

search() verwenden

Das folgende Beispiel durchsucht einen String mit zwei verschiedenen Objekten mit regulären Ausdrücken, um eine erfolgreiche Suche (positiver Wert) und eine erfolglose Suche (-1) gegenüberzustellen.

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

Spezifikation
ECMAScript® 2027 Language Specification
# sec-string.prototype.search

Browser-Kompatibilität

Siehe auch