Summary
The match()
method retrieves the matches when matching a string against a regular expression.
Syntax
str.match(regexp)
Parameters
-
A regular expression object. If a non-RegExp object
obj
is passed, it is implicitly converted to aRegExp
by usingnew RegExp(obj)
.
regexp
Returns
Description
If the regular expression does not include the g
flag, returns the same result as RegExp.exec()
. The returned Array
has an extra input
property, which contains the original string that was parsed. In addition, it has an index
property, which represents the zero-based index of the match in the string.
If the regular expression includes the g
flag, the method returns an Array
containing all matches. If there were no matches, the method returns null
.
See also: RegExp
methods
- If you need to know if a string matches a regular expression
RegExp
, usesearch()
. - If you only want the first match found, you might want to use
RegExp.exec()
instead.
Examples
Example: Using match()
In the following example, match()
is used to find 'Chapter'
followed by 1 or more numeric characters followed by a decimal point and numeric character 0 or more times. The regular expression includes the i
flag so that case will be ignored.
var str = 'For more information, see Chapter 3.4.5.1';
var re = /(chapter \d+(\.\d)*)/i;
var found = str.match(re);
console.log(found);
// logs ['Chapter 3.4.5.1', 'Chapter 3.4.5.1', '.1']
// 'Chapter 3.4.5.1' is the first match and the first value
// remembered from `(Chapter \d+(\.\d)*)`.
// '.1' is the last value remembered from `(\.\d)`.
Example: Using global and ignore case flags with match()
The following example demonstrates the use of the global and ignore case flags with match()
. All letters A through E and a through e are returned, each its own element in the array.
var str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
var regexp = /[A-E]/gi;
var matches_array = str.match(regexp);
console.log(matches_array);
// ['A', 'B', 'C', 'D', 'E', 'a', 'b', 'c', 'd', 'e']
Specifications
Specification | Status | Comment |
---|---|---|
ECMAScript 3rd Edition. | Standard | Initial definition. Implemented in JavaScript 1.2. |
ECMAScript 5.1 (ECMA-262) The definition of 'String.prototype.match' in that specification. | Standard | |
ECMAScript 6 (ECMA-262) The definition of 'String.prototype.match' in that specification. | Draft |
Browser compatibility
Firefox-specific notes
- Starting with Gecko 27 (Firefox 27 / Thunderbird 27 / SeaMonkey 2.24), this method has been adjusted to conform with the ECMAScript specification. When
match()
is called with a global regular expression, theRegExp.lastIndex
property (if specified) will be reset to0
(bug 501739).