RegEx in Node/Javascript - how to get pattern match bounds?

bounds, javascript, node.js, pattern-matching

Solution

If you use the `RegExp.exec()` method, you can get the information you need.

var pattern = /\d+\.?\d*|\.\d+/;
var match = pattern.exec("the number is 7.5!");

var start = match.index;
var text = match[0];
var end = start + text.length;

`/\d+\.?\d*|\.\d+/` is equivalent to `new RegExp("\\d+\\.?|\\.\\d+")`. The literal syntax saves some backslashes.

Problem

Currently, I'm using regex in Javascript / Node via find() and that works for finding the beginning of the pattern. But I'd also like to be able to find out where the pattern ends. Is that possible?

Original source