After bitcoin-cli -regtest -sendtoaddress "address" That address's balance is always 0
If you go through the documentation, the getbalance command can take arguments for an account name, but not an address. I see that you are trying to get the balance for an address. 

On blockchain, each account will be linked to non-zero number of addresses. Money sent to any of these addresses will be shown on the same account. So it doesn't make sense in showing the balance on an address. You command was interpreted as getting the balance on the account mviKj9i2zQmoLVUGkLBMuDhwvAwDmfrAmZ, which is non-existent. Hence, the result of 0.00000000.