Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
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 Juli 2015.
Diesearch()-Methode vonString-Werten führt eine Suche nach einem Treffer zwischen einem regulären Ausdruck und diesem String durch und gibt den Index des ersten Treffers im String zurück.
In diesem Artikel
Probieren Sie es aus
const paragraph = "I think Ruth's dog is cuter than your dog!";// Anything not a word character, whitespace or apostropheconst regex = /[^\w\s']/g;console.log(paragraph.search(regex));// Expected output: 41console.log(paragraph[paragraph.search(regex)]);// Expected output: "!"Syntax
search(regexp)Parameter
regexpEin regulärer Ausdruck oder ein beliebiges Objekt, das eine
Symbol.search-Methode hat.Falls
regexpkeinRegExp-Objekt ist und keineSymbol.search-Methode besitzt, wird er implizit durchnew RegExp(regexp)in einenRegExpumgewandelt.
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 vonString.prototype.search() macht nicht viel, außer dieSymbol.search-Methode des Arguments mit dem String als erstem Parameter aufzurufen. Die eigentliche Implementierung stammt vonRegExp.prototype[Symbol.search]().
Dasg-Flag vonregexp hat keinen Einfluss auf dassearch()-Ergebnis, und die Suche erfolgt immer so, als ob derlastIndex des Regex 0 ist. Für mehr Informationen zum Verhalten vonsearch(), sieheRegExp.prototype[Symbol.search]().
Wenn Sie wissen möchten, ob ein Muster gefunden wird, undauch dessen Index innerhalb eines Strings kennen möchten, verwenden Siesearch().
- Wenn Sie nur wissen möchten, ob es existiert, verwenden Sie die
RegExp.prototype.test()-Methode, die einen Boolean zurückgibt. - Wenn Sie den Inhalt des gefundenen Textes benötigen, verwenden Sie
String.prototype.match()oderRegExp.prototype.exec().
Beispiele
>Verwendung von search()
Das folgende Beispiel durchsucht einen String mit zwei verschiedenen Regex-Objekten, um eine erfolgreiche Suche (positiver Wert) gegenüber einer erfolglosen Suche (-1) zu zeigen.
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 punctuationSpezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-string.prototype.search> |