function findPhoneNumbers(text, options, metadata) {
	/* istanbul ignore if */
	if (options === undefined) {
		options = {}
	}
	const search = new PhoneNumberSearch(text, options, metadata)
	const phones = []
	while (search.hasNext()) {
		phones.push(search.next())
	}
	return phones
}
Regexp of all possible ways to write extensions, for use when parsing. This
will be run as a case-insensitive regexp match. Wide character versions are
also provided after each ASCII version. There are three regular expressions
here. The first covers RFC 3966 format, where the extension is added using
';ext='. The second more generic one starts with optional white space and
ends with an optional full stop (.), followed by zero or more spaces/tabs
/commas and then the numbers themselves. The other one covers the special
case of American numbers where the extension is written with a hash at the
end, such as '- 503#'. Note that the only capturing groups should be around
the digits that you want to capture as part of the extension, or else parsing
will fail! We allow two options for representing the accented o - the
character itself, and one in the unicode decomposed form with the combining
acute accent.