export function *tokenizeRegex(text: string, regex: RegExp) { if (!text) { return; } regex.lastIndex = 0; let m; while((m = regex.exec(text)) !== null) { if (m.index === regex.lastIndex) { regex.lastIndex++; } if (m?.length) { yield m as RegExpExecArray; } } }