Reference Materials
Certification Courses
Created with over a decade of experience and thousands of feedback.
Javascript String match()
In this tutorial, we will learn about the JavaScript String match() method with the help of examples.
The match() method returns the result of matching a string against a regular expression.
Example
const message = "JavaScript is a fun programming language.";
// regular expression that checks if message contains 'programming'
const exp = /programming/;
// check if exp is present in message
let result = message.match(exp);
console.log(result);
/*
Output: [
'programming',
index: 20,
input: 'JavaScript is a fun programming language.',
groups: undefined
]
*/
match() Syntax
The syntax of the match() method is:
str.match(regexp)
Here, str is a string.
match() Parameters
The match() method takes in:
- regexp - A regular expression object (Argument is implicitly converted to
RegExpif it is a non-RegExpobject)
Note: If you don't give any parameters, match() returns [""].
match() Return Value
- Returns an Array containing the matches, one item for each match.
- Returns
nullif no match is found.
Example 1: Using match()
const string = "I am learning JavaScript not Java.";
const re = /Java/;
let result = string.match(re);
console.log("Result of matching /Java/ :");
console.log(result);
const re1 = /Java/g;
let result1 = string.match(re1);
console.log("Result of matching /Java/ with g flag:")
console.log(result1);
Output
Result of matching /Java/ : [ 'Java', index: 14, input: 'I am learning JavaScript not Java.', groups: undefined ] Result of matching /Java/ with g flag: [ 'Java', 'Java' ]
Here, we can see that without using the g flag, we get only the first match as a result but with detailed information like index, input, and groups.
Note: If the regular expression does not include the g flag, str.match() will return only the first match similar to RegExp.exec(). The returned item will also have the following additional properties:
groups- An object of named capturing groups having keys as the names and values as the captured matches.index- The index of search where the result was found.input- A copy of the search string.
Example 2: Matching sections in string
const string = "My name is Albert. YOUR NAME is Soyuj.";
// expression matches case-insensitive "name is"+ any alphabets till period (.)
const re = /name\sis\s[a-zA-Z]+\./gi;
let result = string.match(re);
console.log(result); // [ 'name is Albert.', 'NAME is Soyuj.' ]
// using named capturing groups
const re1 = /name\sis\s(?<name>[a-zA-Z]+)\./i;
let found = string.match(re1);
console.log(found.groups); // {name: "Albert"}
Output
[ 'name is Albert.', 'NAME is Soyuj.' ]
{name: "Albert"}
Here, we have used a regular expression to match a certain portion of the string. We can also capture certain groups in the match using the syntax as shown above.
Also Read: