dividir caractere especial e alfabetos de uma string

estou tendo um valor de string. Eu contendo a combinação de alphbets, caracteres especiais e números e whitspace. mas eu quero recuperar apenas números.

my code
-------
Dim str1 As String = "!@!@#!$@#$#123456habAB^*^&(*)(_)()*("
    Dim str2 As String = Regex.Replace(str1, "[\[\]\\\^\$\.\|\?\*\+\(\)\{\}%,;><!@#&\-\+/d]", "")

    MsgBox(str2)


output am getting
-----------------
123456habAB_

expected output
---------------
123456

questionAnswers(1)

yourAnswerToTheQuestion