A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/search below:

String.prototype.search() - JavaScript | MDN

String.prototype.search()

Baseline Widely available

search() 方法用于在 String 对象中执行正则表达式的搜索,寻找匹配项。

尝试一下
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: "!"
语法 参数
regexp

一个正则表达式对象,或者具有 Symbol.search 方法的任意对象。

如果 regexp 不是 RegExp 对象,并且不具有 Symbol.search 方法,则会使用 new RegExp(regexp) 将其隐式转换为 RegExp。

返回值

如果匹配成功,则返回正则表达式在字符串中首次匹配的索引;否则,返回 -1。

描述

String.prototype.search() 方法的实现非常简单——它只是将该字符串作为调用实参拥有的 Symbol.search 方法的第一个参数。实际的实现来自于 RegExp.prototype[Symbol.search]()。

regexp 的 g 标志对 search() 方法的结果没有影响,搜索总是以正则表达式的 lastIndex 为 0 进行。有关 search() 方法行为的更多信息,请参阅 RegExp.prototype[Symbol.search]()。

当你想知道字符串中是否存在某个模式,并且还想知道它在字符串中的索引时,可以使用 search() 方法。

示例 使用 search()

下面的示例中用两个不同的正则表达式对同一个字符串执行搜索匹配,得到一个成功匹配(正数返回值)和一个失败匹配(-1)。

const str = "hey JudE";
const re = /[A-Z]/;
const reDot = /[.]/;
console.log(str.search(re)); // 返回 4,这是第一个大写字母“J”的索引
console.log(str.search(reDot)); // 返回 -1,找不到点符号“.”
规范 浏览器兼容性 参见

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