In this article, we will convert the user input string into a regular expression using JavaScript.To convert user input into a regular expression in JavaScript, you can use the RegExp constructor. The RegExp constructor takes a string as its argument and converts it into a regular expression object
Regular expressions (RegExp) are patterns used to match character combinations in strings. In JavaScript, regular expressions are also objects. There are two ways to construct a regular expression in JavaScript.
Using a regular expression literal, which consists of a pattern enclosed between slashes, as follows.
const reg = /ab+/;
Calling the constructor function of the RegExp object, as follows.
const reg = new RegExp('ab+', flag);
Using the constructor function provides run time compilation of the regular expression, hence we should use the second method here as the string is a dynamic input from the user. Both the above expressions correspond to the same RegExp.
Example 1: For the string, we will take “Geeks For Geeks’”.
Input : '^Ge'
Output: ["Ge"]
0: "Ge"
Input : '[A-z]+'
Output: (3) ["Geeks", "For", "Geeks"]
0: "Geeks"
1: "For"
2: "Geeks"
Javascript
const str = "Geeks for Geeks";// Input from Userconst regex = prompt("Enter RegExp");// Conversion from string to RegExpconst reg = new RegExp(regex, "g");// The match fn returns the array of strings // That match to RegExpconst result = str.match(reg);if (result) console.log(result);else console.log("Not Found"); |
Output:
Example 2: In this example, we will use the RegExp constructor.
Javascript
const userInput = prompt("Enter a regular expression pattern:");const regex = new RegExp(userInput);console.log(regex); |
Output:
