<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def process_proxy_servers(proxy_settings):
 """Split the proxy conda configuration to be used by the proxy factory."""

    proxy_settings_dic = {}

    for key in proxy_settings:
        proxy = proxy_settings[key]
        proxy_config = [m.groupdict() for m in PROXY_RE.finditer(proxy)]
        if proxy_config:
            proxy_config = proxy_config[0]
            host_port = proxy_config.pop('host_port')
            if ':' in host_port:
                host, port = host_port.split(':')
            else:
                host, port = host_port, None
            proxy_config['host'] = host
            proxy_config['port'] = int(port) if port else None
            proxy_settings_dic[key] = proxy_config
            proxy_config['full'] = proxy_settings[key]

    return proxy_settings_dic