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. |