Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

How to search a string for a pattern in JavaScript ?

  • Difficulty Level : Medium
  • Last Updated : 28 Nov, 2021

In this article, we will see how to search a string for a pattern in JavaScript. We will be using the following methods to search a string:

Approach 1: Here, we will learn how to search for a string that includes a given pattern in JavaScript. The string.search() method is the inbuilt method in JavaScript that is used for this purpose. It searches for a match in between regular expressions in a given String. 

Syntax:

let position = str.search( expression )

Parameters: The string.search() method accepts two parameters:

  • String name: The name of the String in which we want to search a pattern is taken as a parameter.
  • Expression: It is the pattern/ substring which we want to check if it is present in the above String.

Return value: It returns the value of the index of the first matching regular expression in the given String else it returns -1. It starts from index 0, and if any alphabet is matched, it returns its corresponding index and does not check further.

Example 1:

JavaScript




<script>
  
    // Taking input a string.
    var string = "GeeksforGeeks is computer science portal";
    
    // Taking a regular expression.
    var regexp1 = /G/;  
    var regexp2 = /c/;
    var regexp3 = /z/;
    
    // Output
    console.log(string.search(regexp1));
    //Expected Output: 0
    
    console.log(string.search(regexp2));
    // Expected Output: 17
    
    console.log(string.search(regexp3));
    // Expected Output: -1
</script>

Output:

0
17
-1

Explanation: We can observe the first ‘G‘ match occurs at index 0, whereas the first match of ‘c‘ occurs at the 17th index whereas the alphabet ‘z‘ is not present in the String “GeeksforGeeks is computer science portal”, thus returns -1.

Example 2:

JavaScript




<script>
  
    // Taking input a string.
    var string = "GeeksforGeeks is computer science portal";
          
    // Taking a regular expression.
    var regexp = /cie/;  
  
    console.log(string.search(regexp));
    // Expected Output: 27
</script>

Output:

27

Explanation: We can observe that the expression ‘cie’ matches with the String at index 27. Thus, it returns the index of the first matching element of the regular expression ( here ‘c’ in ‘cie’ ) if it is present in the given string.

Approach 2: We can also use the Javascript String match() function, which returns an array that contains the given expression whenever a match is found with the given String else returns null.

Syntax:

string.match( expression )

Parameters: Here, it takes two parameters:

  • String name: The name of the String in which we want to search a pattern is taken as a parameter.
  • Expression: It is the pattern/ substring which we want to check if it is present in the above String.

Example 1:

JavaScript




<script>
  
    // Taking input a string.
    let string = "GeeksforGeeks is computer science portal";
    console.log(string.match(/rGe/g));    
</script>

Output:

['rGe']
0: "rGe"
length: 1
[[Prototype]]: Array(0)

Thus, it returns an array whose length is one, since there is only one match between the given expression and the string. The “g” flag helps to find case sensitive match between the given string and expression.

For a global, case-insensitive match, we can use “gi” flag that will return all possible combinations from the given string.

Example 2:

JavaScript




<script>
  
    // Taking input a string.
    let string = "GeeksforGeeks is computer "
        + "science portal for computer geeks";
        console.log(string.match(/gee/gi));
</script>

Output:

['Gee', 'Gee', 'gee']
0: "Gee"
1: "Gee"
2: "gee"
length: 3
[[Prototype]]: Array(0)

Thus, it returns an array of length three, that contains all possible combinations between the given expression/pattern and the string.

Hey geek! The constant emerging technologies in the world of web development always keeps the excitement for this subject through the roof. But before you tackle the big projects, we suggest you start by learning the basics. Kickstart your web development journey by learning JS concepts with our JavaScript Course. Now at it's lowest price ever!


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!