No reason to split into sourceParts, use the regex to extract matches directly.