Some of these really require an allocation. Do you want me to use pcre_copy_substring + a new allocation for those, or a mix of pcre_copy_substring + pcre_get_substring where appropriate ?