def parse_rule(parameter_string):
    "Parse a parameter string into its constituent name, type, and\n    pattern\n\n    For example:\n    `parse_parameter_string('<param_one:[A-z]>')` ->\n        ('param_one', str, '[A-z]')\n\n    :param parameter_string: String to parse\n    :return: tuple containing\n        (parameter_name, parameter_type, parameter_pattern)\n    "
    if str(parameter_string).startswith('/'):
        parameter_string = parameter_string[1:]
    parameter_string = str(parameter_string).strip('<>')
    name = parameter_string
    pattern = 'string'
    if (':' in parameter_string):
        (name, pattern) = parameter_string.split(':', 1)
    default = (str, pattern)
    (_type, pattern) = REGEX_TYPES.get(pattern, default)
    return (name, _type, pattern)
Parse a parameter string into its constituent name, type, and
pattern

For example:
`parse_parameter_string('<param_one:[A-z]>')` ->
    ('param_one', str, '[A-z]')

:param parameter_string: String to parse
:return: tuple containing
    (parameter_name, parameter_type, parameter_pattern)
def parse_rule(parameter_string):
    "Parse a parameter string into its constituent name, type, and\n    pattern\n\n    For example:\n    `parse_parameter_string('<param_one:[A-z]>')` ->\n        ('param_one', str, '[A-z]')\n\n    :param parameter_string: String to parse\n    :return: tuple containing\n        (parameter_name, parameter_type, parameter_pattern)\n    "
    if str(parameter_string).startswith('/'):
        parameter_string = parameter_string[1:]
    parameter_string = str(parameter_string).strip('<>')
    name = parameter_string
    pattern = 'string'
    if (':' in parameter_string):
        (name, pattern) = parameter_string.split(':', 1)
    default = (str, pattern)
    (_type, pattern) = REGEX_TYPES.get(pattern, default)
    return (name, _type, pattern)