As of Firefox 88, we will support match indices in RegExps.
Use case:
Match Indices provide additional information about the start and end indices of
captured substrings relative to the start of the input string. This information
is only provided if the regexp has the /d flag set. For example:
let re = /A*(B)/d;
let result = re.exec("xxxAABxxx");
// The match begins at index 3 and ends at index 6
// result.indices[0][0] === 3;
// result.indices[0][1] === 6;
// The capture group containing 'B' begins at index 5 and ends at index 6
// result.indices[1][0] === 5;
// result.indices[1][1] === 6;
Match indices are currently Stage 3.
Bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=1519483
Standard:
https://github.com/tc39/proposal-regexp-match-indices
Platform coverage:
All, no pref
DevTools bug:
N/A
Other browsers:
Implemented in JSC: https://bugs.webkit.org/show_bug.cgi?id=202475
Implemented in V8 behind a pref:
https://bugs.chromium.org/p/v8/issues/detail?id=9548
Testing:
There are test262 tests covering this feature:
https://github.com/tc39/test262/tree/main/test/built-ins/RegExp/match-indices
Secure contexts:
This is a JS language feature and is therefore present in all contexts.
_______________________________________________
dev-platform mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-platform