<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_reference_line_numeration_marker_patterns(prefix=u''):
 """Return a list of compiled regex patterns used to search for the marker of a reference line in a full-text document. @param prefix: (string) the possible prefix to a reference line @return: (list) of compiled regex patterns. """

    title = u""
    if type(prefix) in (str, unicode):
        title = prefix
    g_name = u'(?P<mark>'
    g_close = u')'
    space = ur'\s*'
    patterns = [
        # [1]
        space + title + g_name + ur'\[\s*(?P<marknum>\d+)\s*\]' + g_close,
        # [<letters and numbers]
        space + title + g_name +
        ur'\[\s*[a-zA-Z:-]+\+?\s?(\d{1,4}[A-Za-z:-]?)?\s*\]' + g_close,
        # {1}
        space + title + g_name + ur'\{\s*(?P<marknum>\d+)\s*\}' + g_close,
        # (1)
        space + title + g_name + ur'\<\s*(?P<marknum>\d+)\s*\>' + g_close,
        space + title + g_name + ur'\(\s*(?P<marknum>\d+)\s*\)' + g_close,
        space + title + g_name + ur'(?P<marknum>\d+)\s*\.(?!\d)' + g_close,
        space + title + g_name + ur'(?P<marknum>\d+)\s+' + g_close,
        space + title + g_name + ur'(?P<marknum>\d+)\s*\]' + g_close,
        # 1]
        space + title + g_name + ur'(?P<marknum>\d+)\s*\}' + g_close,
        # 1}
        space + title + g_name + ur'(?P<marknum>\d+)\s*\)' + g_close,
        # 1)
        space + title + g_name + ur'(?P<marknum>\d+)\s*\>' + g_close,
        # [1.1]
        space + title + g_name + ur'\[\s*\d+\.\d+\s*\]' + g_close,
        # [    ]
        space + title + g_name + ur'\[\s*\]' + g_close,
        # *
        space + title + g_name + ur'\*' + g_close,
    ]
    return [re.compile(p, re.I | re.UNICODE) for p in patterns]