matchAll package:regex-base

matchAll returns a list of matches. The matches are in order and do not overlap. If any match succeeds but has 0 length then this will be the last match in the list.
This is matchAll with the actual subsections of the source instead of just the (offset,length) information.