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. Regular expressions can be used to perform all types of text search and text replacement operations.
Syntax:
/pattern/modifiers;
Example:
let patt = /neveropen/i;
Explanation :
/neveropen/i is a regular expression.
neveropen is the pattern (to be used in a search).
i is a modifier (modifies the search to be Case-Insensitive).
Regular Expression Modifiers can be used to perform multiline searches which can also be set to case-insensitive matching:
Expressions | Descriptions |
---|---|
g | Find the character globally |
i | Find a character with case-insensitive matching |
m | Find multiline matching |
Regular Expression Brackets can be Find characters in a specified range
Expressions | Description |
---|---|
[abc] | Find any of the characters inside the brackets |
[^abc] | Find any character, not inside the brackets |
[0-9] | Find any of the digits between the brackets 0 to 9 |
[^0-9] | Find any digit not in between the brackets |
(x | y) | Find any of the alternatives between x or y separated with | |
Regular Expression Metacharacters are characters with a special meaning:
Metacharacter | Description |
---|---|
\. | Search single characters, except line terminator or newline. |
\w | Find the word character i.e. characters from a to z, A to Z, 0 to 9 |
\d | Find a digit |
\D | Search non-digit characters i.e all the characters except digits |
\s | Find a whitespace character |
\S | Find the non-whitespace characters. |
\b | Find a match at the beginning or at the end of a word |
\B | Find a match that is not present at the beginning or end of a word. |
\0 | Find the NULL character. |
\n | Find the newline character. |
\f | Find the form feed character |
\r | Find the carriage return character |
\t | Find the tab character |
\v | Find the vertical tab character |
\uxxxx | Find the Unicode character specified by the hexadecimal number xxxxx |
Regular Expression Quantifiers are used to define quantitiesoccurrence
Quantifier | Description |
---|---|
n+ | Match any string that contains at least one n |
n* | Match any string that contains zero or more occurrences of n |
n? | Match any string that contains zero or one occurrence of n |
m{X} | Find the match of any string that contains a sequence of m, X times |
m{X, Y} | Find the match of any string that contains a sequence of m, X to Y times |
m{X,} | Find the match of any string that contains a sequence of m, at least X times |
m$ | Find the match of any string which contains m at the end of it |
^m | Find the match of any string which contains m at the beginning of it |
?!m | Find the match of any string which is not followed by a specific string m. |
Regular Expression Object Properties:
Property | Description |
---|---|
constructor | Return the function that created the RegExp object’s prototype |
global | Specify whether the “g” modifier is set or not |
ignorecase | Specify whether the “i” modifier is set or not |
lastindex | Specify the index at which to start the next match |
multiline | Specify whether the “m” modifier is set or not |
source | Return the text of RegExp pattern |
Regular Expression Object Methods:
Method | Description |
---|---|
compile() | Used to compile the regular expression while executing of script |
exec() | Used to test for the match in a string. |
test() | Used to test for a match in a string |
toString() | Return the string value of the regular expression |
Below is an example of the JavaScript Regular Expressions.
Example:
JAVASCRIPT
function GFGFun() { let str = "Visit neveropenforGeeks" ; let n = str.search(/neveropen/i); console.log(n); } GFGFun(); |
Output:
6
Using String Methods: In JavaScript, regular expressions are often used with the two string methods: search() and replace().
- The search() method uses an expression to search for a match and returns the position of the match.
- The replace() method returns a modified string where the pattern is replaced.
Using String search() With a Regular Expression: Use a regular expression to do a case-insensitive search for “neveropen” in a string:
Example:
JAVASCRIPT
function myFunction() { // input string let str = "Visit neveropenforGeeks!" ; // searching string with modifier i let n = str.search(/neveropen/i); console.log(n); // searching string without modifier i let n = str.search(/neveropen/); console.log(n); } myFunction(); |
Output:
6 -1
Use String replace() With a Regular Expression : Use a case insensitive regular expression to replace gfG with neveropen in a string:
Example:
JAVASCRIPT
function myFunction() { // input string let str = "Please visit gfG!" ; // replacing with modifier i let txt = str.replace(/gfg/i, "neveropen" ); console.log(txt); } myFunction(); |
Output:
Please visit neveropen!