Table of contents
Summary
Used to retrieve the matches when matching a string against a regular expression.
Method of String | |
|---|---|
| Implemented in | JavaScript 1.2 |
| ECMAScript Edition | ECMAScript 3rd Edition |
Syntax
string.match(regexp)
Parameters
Description
If the regular expression does not include the g flag, returns the same result as regexp.exec(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.
The returned Array has an extra input property, which contains the regexp that generated it as a result. In addition, it has an index property, which represents the zero-based index of the match in the string.
regexp- A regular expression object. If a non-RegExp object
objis passed, it is implicitly converted to a RegExp by usingnew RegExp(obj).
Prior to Gecko 8.0 (Firefox 8.0 / Thunderbird 8.0 / SeaMonkey 2.5)
, match() was implemented incorrectly; when it was called with no parameters or with undefined, it would match against undefined, instead of always returning an empty string. This is fixed.
Notes
- If you need to know if a string matches a regular expression
regexp, useregexp.test(string). - If you only want the first match found, you might want to use
regexp.exec(string)instead. - See §15.5.4.10 of the ECMA-262 specification.
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.
<script type="text/javascript"> str = "For more information, see Chapter 3.4.5.1"; re = /(chapter \d+(\.\d)*)/i; found = str.match(re); alert(found); </script>
This returns the array containing 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 second 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); alert(matches_array);
matches_array now equals ['A', 'B', 'C', 'D', 'E', 'a', 'b', 'c', 'd', 'e']