I am trying to check string which:
is_match = re.search("^\$[a-zA-Z0-9]", word)
Problem I am facing
It is accepting special characters and space in my string.
Backslashes in regular strings are processed by Python before the regex engine gets to see them. Use a raw string around regular expressions, generally (or double all your backslashes).
Also, your regex simply checks if there is (at least) one alphanumeric character after the dollar sign. If you want to examine the whole string, you need to create a regular expression which examines the whole string.
is_match = re.search(r"^\$[a-zA-Z0-9]+$", word)
or
is_match = re.search("^\\$[a-zA-Z0-9]+$", word)