JavaScript RegExp Reference
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.
let str = "ABC, A3C, A C, AXXCC!";
let regex = /A.C/g;
console.log(str.match(regex));
Output
[ 'ABC', 'A3C', 'A C' ]
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.
RegExp(): It creates a new RegExp object.
const str = "geeksforgeeks"
const reg = new RegExp(/[g]/, 'g');
console.log(str.match(reg));
Output
[ 'g', 'g' ]
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 |
---|---|
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 |
---|---|
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 |
---|---|
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. |