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'
的索引。
另请阅读