match regex
// The match() method searches a string for a match against a regular expression,
// and returns the matches, as an Array object.
// If the regular expression does not include the g modifier (to perform a global search),
// the match() method will return only the first match in the string.
// This method returns null if no match is found.
let str = "The rain in SPAIN stays mainly in the plain";
let res1 = str.match(/ain/g); /* ["ain", "ain", "ain"] */
let res2 = str.match(/ain/); /* ["ain", index: 5, input: "The rain in SPAIN stays mainly in the plain", groups: undefined] */
let res3 = str.match(/blah/); /* null */
const str = 'For more information, see Chapter 3.4.5.1';
const re = /see (chapter \d+(\.\d)*)/i;
const found = str.match(re);
console.log(found);
// logs [ 'see Chapter 3.4.5.1',
// 'Chapter 3.4.5.1',
// '.1',
// index: 22,
// input: 'For more information, see Chapter 3.4.5.1' ]
// 'see Chapter 3.4.5.1' is the whole match.
// 'Chapter 3.4.5.1' was captured by '(chapter \d+(\.\d)*)'.
// '.1' was the last value captured by '(\.\d)'.
// The 'index' property (22) is the zero-based index of the whole match.
// The 'input' property is the original string that was parsed.