JavaScript String search()

search() 方法在给定的 字符串正则表达式 之间搜索匹配项。

示例

let sentence= "I love JavaScript.";

// pattern that searches the first occurence of an uppercase character
let regExp = /[A-Z]/;

// searching for a match between regExp and given string let indexReg = sentence.search(regExp);
console.log(indexReg); // Output: 0

search() 语法

search() 方法的语法是:

str.search(regexp)

其中,str 是一个字符串。


search() 参数

search() 方法接受 **一个** 参数:

  • regExp - 一个正则表达式对象(如果参数是普通字符串,它会被隐式转换为正则表达式对象)

search() 返回值

  • 返回正则表达式与给定字符串的第一个匹配项的索引。
  • 如果未找到匹配项,则返回 -1

示例 1:使用 search() 方法

// defining string
let string1 = "JavaScript JavaScript1";

// pattern having 'JavaScript' followed by a digit
let regExp = /(JavaScript)\d/;

// searching for a match between regExp and given string let index = string1.search(regExp);
console.log(index);

输出

11

在上面的示例中,我们使用 search() 方法在正则表达式和给定的字符串之间搜索匹配项。

这里 regExp 表示一个以 'JavaScript' 开头后跟一个数字的模式。

string1.search(regExp) 执行搜索并返回 11,这是找到的匹配项 'JavaScript1' 的索引值。


示例 2:在 search() 中传递非正则表达式

let string1 = "I love to code in JavaScript.";

// searching word "JavaScript" in the given string let index = string1.search("code");
console.log(index);

输出

10

在上面的示例中,我们在 search() 方法中传递了一个非正则表达式 'code'

该方法会隐式地将 'code' 转换为 regExp,并在给定字符串中执行搜索。

string1.search("code") 返回 10,这是 'code' 的索引。


另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战