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
search(regexp)
Parameter
regexp
-
Ein reguläres Ausdrucksobjekt oder jedes Objekt, das eine
Symbol.search
-Methode hat.Wenn
regexp
keinRegExp
-Objekt ist und keineSymbol.search
-Methode hat, wird es implizit in einRegExp
umgewandelt, indemnew 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()
.
- 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) vs. eine erfolglose 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 punctuation
Spezifikationen
Specification |
---|
ECMAScript Language Specification # sec-string.prototype.search |
Browser-Kompatibilität
BCD tables only load in the browser