How to use REGEX to read through a .txt file and count how many times words are used and add that info to a dictionary

I’m fairly new to coding, and I’m completely new to regex. How do I use regex to read through a text file and set each unique word as a key and have the value be how many times that word (not case sensitive) shows up in the file? It also needs to be able to find words that are mixed in with characters, for example: “364Hey@ 8friend99%^” would output ‘hey’ and ‘friend’ as the keys.
For example, if my txt file is:

Hello, my name is 423Jeff. My 6name34 @@is 4 letters long. 

My desired outcome would be something like:

{'hello': 1, 'my': 2, 'name': 2, 'is': 2, 'jeff': 1, 'letters': 1, 'long': 1}

Answer

You don’t need Regex. This solves the problem

f = open("demofile.txt", "r")

d = {}
for word in f.read().split():
    word = word.lower()
    word = ''.join(e for e in word if e.isalpha())
    if word is not '':
        if word not in d:
            d[word] = 1
        else:
            d[word] += 1

print(d)