Baseline Widely available
Die search()
-Methode von String
-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.
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 Parameter
regexp
Ein regulärer Ausdruck oder ein beliebiges Objekt, das eine Symbol.search
-Methode hat.
Falls regexp
kein RegExp
-Objekt ist und keine Symbol.search
-Methode besitzt, wird er implizit durch new RegExp(regexp)
in einen RegExp
umgewandelt.
Der Index des ersten Treffers zwischen dem regulären Ausdruck und dem gegebenen String oder -1
, wenn kein Treffer gefunden wurde.
Die Implementierung von String.prototype.search()
macht nicht viel, auÃer die Symbol.search
-Methode des Arguments mit dem String als erstem Parameter aufzurufen. Die eigentliche Implementierung stammt von RegExp.prototype[Symbol.search]()
.
Das g
-Flag von regexp
hat keinen Einfluss auf das search()
-Ergebnis, und die Suche erfolgt immer so, als ob der lastIndex
des Regex 0 ist. Für mehr Informationen zum Verhalten von search()
, siehe RegExp.prototype[Symbol.search]()
.
Wenn Sie wissen möchten, ob ein Muster gefunden wird, und auch dessen Index innerhalb eines Strings kennen möchten, verwenden Sie search()
.
RegExp.prototype.test()
-Methode, die einen Boolean zurückgibt.String.prototype.match()
oder RegExp.prototype.exec()
.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 Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4