In JavaScript regular expressions, parentheses are used to define capturing groups. Capturing groups allows to extract specific parts of the matched string. When a regular expression is executed, the matched groups can be accessed through the resulting match object.
In this article, we will learn how to access the matched groups in a JavaScript regular expression. There are two approaches to access the matched groups, these are:
- Using
exec()
Method - Using
match()
Method
Approach 1: Using exec()
Method
For searching a pattern if it is present then returns the entire string otherwise returns an empty string.
const regex = /pattern(g1)(g2)/;
const match = regex.exec(inputString);
The matched groups can be accessed using numeric indexes. The index 0
represents the entire matched string, and subsequent indexes represent the captured groups.
Example: Extracting parts of a date
Javascript
const regex = /(\d{2})-(\d{2})-(\d{4})/; const inputString = '27-06-2023' ; const match = regex.exec(inputString); const day = match[1]; const month = match[2]; const year = match[3]; console.log(day); console.log(month); console.log(year); |
27 06 2023
Approach 2: Using match()
Method
For searching a pattern if it is present then it returns true otherwise returns false.
const regex = /pattern(g1)(g2)/;
const match = inputString.match(regex);
Example: Parsing a URL:
Javascript
const regex = /(https?):\/\/([^:/\s]+)(:\d{2,5})?(\/[^\s]*)?/; const inputString = const match = regex.exec(inputString); const protocol = match[1]; const domain = match[2]; const port = match[3]; const path = match[4]; console.log(protocol); console.log(domain); console.log(port); console.log(path); |
https www.neveropen.com :8080 /path/to/resource
Conclusion: To access the matched groups in a JavaScript regular expression, we can use the exec()
method or the match()
method. Capturing groups defined using parentheses ()
allows for the extraction of extract specific parts of the matched string. Once there is a match object, we can access the matched groups using array indexes.