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 Treffer zwischen einem regulären Ausdruck und diesem String aus und gibt den Index des ersten Treffers im String zurück.
Probieren Sie es aus
Syntax
search(regexp)
Parameter
regexp
-
Ein regulärer Ausdrucksobjekt oder ein beliebiges Objekt, das eine
Symbol.search
-Methode besitzt.Falls
regexp
keinRegExp
-Objekt ist und keineSymbol.search
-Methode besitzt, wird es implizit in einenRegExp
durch Verwendung vonnew RegExp(regexp)
umgewandelt.
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()
tut nicht viel, außer die Symbol.search
-Methode des Arguments mit dem String als erstem Parameter aufzurufen. Die eigentliche Implementierung kommt von RegExp.prototype[Symbol.search]()
.
Das g
-Flag des regexp
hat keinen Einfluss auf das Ergebnis von search()
, und die Suche erfolgt immer so, als ob lastIndex
des Regex 0 ist. Für weitere Informationen zum Verhalten von search()
, siehe RegExp.prototype[Symbol.search]()
.
Wenn Sie wissen möchten, ob ein Muster gefunden wurde, und auch dessen Index innerhalb eines Strings herausfinden 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 übereinstimmenden 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 punctuation
Spezifikationen
Specification |
---|
ECMAScript Language Specification # sec-string.prototype.search |
Browser-Kompatibilität
BCD tables only load in the browser