import re
def is_palindrome(s):
# Remove non-alphanumeric characters and convert to lowercase
normalized = re.sub(r'[^a-zA-Z0-9]', '', s).lower()
print(normalized)
# Check if the string is equal to its reverse
return normalized == normalized[::-1]
s = "+^-Ab#c!D 50...# 05*()dcB[]A##@!$"
print(is_palindrome(s))
'''
run:
abcd5005dcba
True
'''