JavaScript String search() 方法



JavaScript String 的search()方法在原始字符串中搜索字符串或正则表达式,并返回第一个匹配项的索引(位置)。如果未找到匹配项,则返回-1

此方法区分大小写,这意味着它将字符串“Hi”和“hi”视为两个不同的值。但是,您可以通过在正则表达式中使用/i标志使search()方法不区分大小写

注意 - 正则表达式的'g'(全局)标志对search()方法的结果没有影响,并且搜索始终像regexp lastIndex为0一样发生。

语法

以下是 JavaScript String search()方法的语法 -

search(regexp)

参数

  • regexp - 一个regexp(正则表达式)对象。

返回值

此方法返回regexp与给定字符串之间第一个匹配项的索引(位置)。

示例 1

如果在regexp和原始字符串之间找到匹配项,则此方法将返回第一个匹配项的索引。

在以下程序中,我们使用 JavaScript String 的search()方法来匹配和检索regexp“/point/i”在原始字符串“Welcome to Tutorials Point”中的索引(或位置)。

<html>
<head>
<title>JavaScript String search() Method</title>
</head>
<body>
<script>
   const str = "Welcome to Tutorials Point";
   document.write("Original String: ", str);
   let regexp = /point/i;
   document.write("<br>regexp: ", regexp);
   document.write("<br>The sub-string '", regexp, "' found at position ",str.search(regexp));
</script>    
</body>
</html>

输出

上述程序将字符串“Point”的索引(位置)返回为21。

Original String: Welcome to Tutorials Point
regexp: /point/i
The sub-string '/point/i' found at position 21

示例 2

如果在原始字符串中未找到指定的regexp,则search()方法将返回-1

以下是 JavaScript String search()方法的另一个示例。在此示例中,我们使用此方法来匹配regexp“/Hi/”在原始字符串“Hello World”中。

<html>
<head>
<title>JavaScript String search() Method</title>
</head>
<body>
<script>
   const str = "Hello World";
   document.write("Original String: ", str);
   let regexp = /Hi/;
   document.write("<br>regexp: ", regexp);
   document.write("<br>The regexp '", regexp, "' found at position ",str.search(regexp));
</script>    
</body>
</html>

输出

执行上述操作后,它将返回-1。

Original String: Hello World
regexp: /Hi/
The regexp '/Hi/' found at position -1

示例 3

让我们在条件语句中使用方法结果来检查regexp“/[^\w\P']/;”与原始字符串“Tutorials Point”之间是否找到匹配项。

<html>
<head>
<title>JavaScript String search() Method</title>
</head>
<body>
<script>
   const str = "Tutorials Point";
   document.write("Original String: ", str);
   let regexp = /[^\w\P']/;
   document.write("<br>regexp: ", regexp);
   let index = str.search(regexp);
   document.write("<br>Method returns: ", index, "<br>");
   if(index !=-1){
      document.write("Match found");
   }
   else{
      document.write("Not found");
   }
</script>    
</body>
</html>

输出

以下是上述程序的输出 -

Original String: Tutorials Point
regexp: /[^\w\P']/
Method returns: 9
Match found
广告

© . All rights reserved.