import re
def testChatChars(string):
return re.search('[^\x20-\x5A\x5C\x5E-\x7E]|^$', string) is not None
print("testing Chat validation")
print(testChatChars("") == False)
print(testChatChars("this is a valid chat message") == True)
print(testChatChars("9999abcdefghijklmnopqrxtuvxyz ABCDEFGHIJKLMNOP!@#$(^&*(&%$^^)*)!{},.;'\|?/7") == True )
print(testChatChars("this is not [ valid chat message") == False)
print(testChatChars("this is not ] valid chat message") == False)
print(testChatChars("9999abcdefghijklmnopqrxtuvxyz [][][[][]ABCDEFGHIJKLMNOP!@#$(^&*(&%$^^)*)!{}[],.;'\|?/7ونِكود碼標準萬國") == False)
aW1wb3J0IHJlIApkZWYgdGVzdENoYXRDaGFycyhzdHJpbmcpOgogICByZXR1cm4gcmUuc2VhcmNoKCdbXlx4MjAtXHg1QVx4NUNceDVFLVx4N0VdfF4kJywgc3RyaW5nKSBpcyBub3QgTm9uZQoKcHJpbnQoInRlc3RpbmcgQ2hhdCB2YWxpZGF0aW9uIikKcHJpbnQodGVzdENoYXRDaGFycygiIikgPT0gRmFsc2UpCnByaW50KHRlc3RDaGF0Q2hhcnMoInRoaXMgaXMgYSB2YWxpZCBjaGF0IG1lc3NhZ2UiKSA9PSBUcnVlKQpwcmludCh0ZXN0Q2hhdENoYXJzKCI5OTk5YWJjZGVmZ2hpamtsbW5vcHFyeHR1dnh5eiBBQkNERUZHSElKS0xNTk9QIUAjJCheJiooJiUkXl4pKikhe30sLjsnXHw/LzciKSA9PSBUcnVlICkKcHJpbnQodGVzdENoYXRDaGFycygidGhpcyBpcyBub3QgWyB2YWxpZCBjaGF0IG1lc3NhZ2UiKSA9PSBGYWxzZSkKcHJpbnQodGVzdENoYXRDaGFycygidGhpcyBpcyBub3QgXSB2YWxpZCBjaGF0IG1lc3NhZ2UiKSA9PSBGYWxzZSkKcHJpbnQodGVzdENoYXRDaGFycygiOTk5OWFiY2RlZmdoaWprbG1ub3Bxcnh0dXZ4eXogW11bXVtbXVtdQUJDREVGR0hJSktMTU5PUCFAIyQoXiYqKCYlJF5eKSopIXt9W10sLjsnXHw/LzfZiNmG2ZDZg9mI2K/norzmqJnmupbokKzlnIsiKSA9PSBGYWxzZSkKCg==