MUST. SPEND. LIFE. TWEAKING. SINGLE. REGEX.
would have been more interesting but it doesn't seem like Pythong supports the :alnum: character case, so a-zA-Z0-9 it is (the case difference is probably irrelevant as re.I is used but .. uh .. )