import re strings = ["5%","%5","5%+3","5%%","333$","2@2","4%4"]; for str in strings: match = re.search(r'(?<!\d)[@$%]|[@$%](?!\d)', str) if match: print(str + ' is not valid') else: print(str + ' is valid')
Standard input is empty
5% is not valid %5 is not valid 5%+3 is not valid 5%% is not valid 333$ is not valid 2@2 is valid 4%4 is valid