Open In App

How to concatenate regex literals in JavaScript ?

Improve
Improve
Like Article
Like
Save
Share
Report

Regex is a sequence of pattern that is used for matching with a pattern. While searching for data in a text, the search pattern is described for what we are searching for. It can be a single character or a more complex pattern. It can be used to perform all types of text searches. Regex has its own static and instance properties.

Syntax:

/pattern/modifiers

Example: A regular expression.

/gfg/g

Where,

  • gfg is a pattern (to be used in a search).
  • g is a modifier (modifies the search to be case-insensitive).

The concatenation of Regex in the programming world can be understood as combining text patterns to obtain a new text pattern, such as “Hello” + “World” is /HelloWorld/. Whenever RegExp() is called, it creates a new RegExp object.

Example 1: This example creating an expression without actually using the Regex literal syntax. This allows you to make arbitrary string manipulation before it becomes a Regex object.

Javascript




function gfg() {
    var segment_part = " GeeksforGeeks |"
        + " A computer science portal for geeks";
  
    var pattern = new RegExp("GFG:" +
            /*comment here */
            segment_part +
            /* that was defined just now */
            "is a computer science portal");
  
    console.log(pattern);
}
gfg();


Output: 

/GFG: GeeksforGeeks | A computer science portal for geeksis a computer science portal/

 Example 2: If you have two Regex literals, you can concatenate them using a technique where it removes duplicates, but keep the unique values in order, joining both the regex literals. Example: /hello/y + / world/g would be /hello world/gy 

Javascript




function gfg() {
    var regex1 = /geeks/g;
    var regex2 = / for geeks/y;
    var flags = (regex1.flags +
        regex2.flags).split("")
            .sort().join("")
              
            .replace(/(.)(?=.*\1)/g, "");
    var regex3 = new RegExp(regex1.source
                + regex2.source, flags);
                  
    console.log(regex3);
}
gfg();


Output: 

/geeks for geeks/gy


Last Updated : 15 Feb, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads