Если регулярное выражение всегда соответствует фиксированной длине, тогда смещение будет суммой длин предыдущих строк плюс длина разделенной строки.
Но если длина регулярного выражения не фиксирована... хм, не простая проблема.Я думаю, вам придется повторить логику, которую использует split, чтобы найти фрагменты.