Adding *rpcport=18332* **temporarily** solve your problem. If you want to run **mainnet** or **testnet** at the same time when **regtest** is running, you *wont be able to use them*, it is because when you assign `rpcport=xyz` all  bitcoin instances will try to interact through same rpcport when daemon is started but at one time only single daemon can access single port number.But in your case all three daemons tries to take rpcport as 18332.

Infact what you can do is, try to get connected to default rpc port for regtest by typing command:

> bitcoind -regtest -daemon -rpcport=18443


    Mainnet:8332 
    Testnet:18332 
    Regtest:18443`