RegExp stands for Regular Expression. A regular expression is a sequence of characters that forms a search pattern. The search pattern can be used for text search and text to replace operations. A regular expression can be a single character or a more complicated pattern.
Syntax:
new RegExp("(Regular Expressioncharactersnonword)")
Example: This example searches the words whose starting character is “A” and ending character is “C” with only one character in between them.
HTML
<!DOCTYPE html> <html lang="en"> <head> <title> JavaScript RegExp Reference </title> </head> <body style="text-align:center"> <h1 style="color:green"> neveropen </h1> <h2>RegExp . Metacharacter</h2> <p> Input String: ABC, A3C, A C, AXXCC! </p> <button onclick="geek()"> Click it! </button> <p id="app"></p> <script> function geek() { let str1 = "ABC, A3C, A C, AXXCC!"; let regex4 = /A.C/g; let match4 = str1.match(regex4); document.getElementById("app").innerHTML = "Found " + match4.length + " matches: " + match4; } </script> </body> </html> |
Output:
The complete list of JavaScript RegExp is listed below:
JavaScript RegExp Constructor: In JavaScript, a constructor gets called when an object is created using the new keyword.
| Constructor | Description | Example |
|---|---|---|
| RegExp() | It creates a new RegExp object |
JavaScript RegExp Properties: A JavaScript property is a member of an object that associates a key with a value.
- Instance Property: An instance property is a property that has a new copy for every new instance of the class.
| Instance Properties | Description | Example |
|---|---|---|
| constructor | Return the RegExp constructor function for the object. | |
| dotAll | It checks if the ‘s’ flag is used or not in the Regular Expression | |
| flags | This property returns the flag being used in the current RegExp object | |
| global | It specifies whether the ‘g’ flag is used or not | |
| hasIndices | It specifies whether the ‘d’ flag is used or not | |
| ignoreCase | It specifies whether the ‘i’ flag is used or not | |
| multiline | It specifies whether ‘m’ flag is set or not | |
| source | It returns the text of the RegExp object | |
| sticky | It specifies whether ‘y’ flag is used or not | |
| unicode | It specifies whether ‘u’ flag is used or not | |
| lastIndex | It specifies at which index to start the next match |
JavaScript RegExp Methods: JavaScript methods are the actions that can be performed on objects.
- Instance Method: If the method is called on an instance of a RegExp then it is called an instance method.
| Instance Methods | Description | Example |
|---|---|---|
| exec | It is used to test if the strings match | |
| test | It also checks if the string matches but the return type is different | |
| toString | It returns the string value of the Regular Expression |
The different Metacharacters and Flags of RegExp is given below:
|
RegExp |
Description |
Example |
|---|---|---|
| Metacharacter | Search single characters, except line terminator or newline. | |
| m | Perform multiline matching. | |
| \r | The RegExp \r Metacharacter carriage return characters. | |
| [abc] | Search for any character which is between the brackets. | |
| (x|y) | Search any of the specified characters (separated by |). | |
| \xxx | Find the character specified by an octal number xxx. | |
| \W | Find the non word character i.e. characters which are not from a to z, A to Z, 0 to 9. | |
| [^abc] | Search for any character which is not between the brackets. | |
| g | Find all the occurrences of the pattern instead of stopping after the first match i.e it performs a global match. | |
| [0-9] | Search any digit which is between the brackets. | |
| \s | Find the whitespace characters. | |
| \b | Find a match at the beginning or end of a word | |
| i | Perform case-insensitive matching in the string. | |
| \n | The RegExp \n Metacharacter in JavaScript is used to find the newline character. | |
| [^0-9] | Search for any digit which is not between the brackets. | |
| \B | Find a match that is not present at the beginning or end of a word. | |
| \f | Find the form feed character (form feed is a page-breaking ASCII control character). | |
| \w | Find the word character i.e. characters from a to z, A to Z, 0 to 9. It is the same as [a-zA-Z_0-9]. | |
| \d | Search digit characters. It is the same as [0-9]. | |
| \t | If it is found it returns the position else it returns -1. | |
| \D | Search non-digit characters i.e all the characters except digits. It is the same as [^0-9]. | |
| \0 | Find the NULL character. If it is found it returns the position else it returns -1. | |
| \v | Find the vertical tab character. If it is found it returns the position else it returns -1. | |
| * | Find the match of any string that contains zero or more occurrences of m. | |
| {X,} | Find the match of any string that contains a sequence of m, at least X times, where X is a number. | |
| ?! | Find the match of any string which is not followed by a specific string m. | |
| {X} | Find the match of any string that contains a sequence of m, X times where X is a number. | |
| ^ | Find the match of any string which contains m at the beginning of it. | |
| ? | Find the match of any string that contains zero or one occurrence of m. | |
| $ | Find the match of any string which contains m at the end of it. | |
| + | Find the match of any string that contains at least one m. | |
| \uxxxx | Find the Unicode character specified by a hexadecimal number XXXX. | |
| {X,Y} | Find the match of any string that contains a sequence of m, X to Y times where X, Y must be numbered. |
