util.matches
v0.0.14
Published
Searches a string for N instances of a given regex.
Downloads
541
Readme
util.matches
Searches a string for N instances of a given regex.
Installation
This module uses yarn to manage dependencies and run scripts for development.
To install as an application dependency:
$ yarn add --dev util.matches
To build the app and run all tests:
$ yarn run all
Overview
The matches
function will search through the given string for N occurrences of the given regex string. It will return an array of Match
objects; one entry for each instance found. The Match
structure contains the following values:
groupIndex
- When grouping symbols are used within a regex this structure will contain the index location within the matched string where that group starts. The index location is computed for each group.result
- The return value from the Javascript regex exec().text
- the string that was matched by the regexstart
- the absolute starting index from the front of the string being searched.end
- the absolute ending index from the from front of the string being searched.
Usage
Simple match
import {Match, matches} from 'util.matches';
const data: string = 'a b c a b c a b c';
const res: Match[] = matches(data, /a/g);
// res[0].text = 'a'
// res[0].start = 0
// res[0].end = 0;
// res[1].text = 'a'
// res[1].start = 6
// res[1].end = 6
Match with grouping indicies
import {Match, matches} from 'util.matches';
const data: string = 'the date range is 01/02/2016 to 09/25/2017 blah';
const res: Match[] = matches(data, /(\d{2})\/(\d{2})\/(\d{4})/g);
// res[0].text = '01/02/2016');
// res[0].start = 18);
// res[0].end = 27);
// res[0].groupIndex[0] = 0); // 01
// res[0].groupIndex[1] = 3); // 02
// res[0].groupIndex[2] = 6); // 2016
// res[1].text = '09/25/2017');
// res[1].start = 32);
// res[1].end = 41);
// res[1].groupIndex[0] = 0); // 09
// res[1].groupIndex[1] = 3); // 25
// res[1].groupIndex[2] = 6); // 2017