async def prefix_wrapper_regex(re_pattern, message):
    """
    Function to execute asynchronous callable prefix.
    
    This function is a coroutine.
    
    Parameters
    ----------
    re_pattern : `async-callable`
        Async callable returning the prefix.
    message : ``Message``
        The received message to parse the prefix from.
    
    Returns
    -------
    prefix : `None`, `str`
        The prefix used by the user. Returned as `None` of parsing failed.
    end : `int`
        The start of the content after the prefix. Returned as `-1` if parsing failed.
    """
    content = message.content
    if content is None:
        prefix = None
        end = -1
    else:
        parsed = re_pattern.match(content)
        if parsed is None:
            prefix = None
            end = -1
        else:
            prefix = parsed.group(0)
            end = parsed.end()
    
    return prefix, end