I have list of hostnames. They are represented by region code.
- AP- : APAC
- EM- : EMEA
- AM- : Americas
Actual list has around 1000 hostnames and idea is to filter out hostname with no region code in them. I am able to filter it out by string manipulation etc however I am wondering how could I write an efficient regex to filter the hostname with no region codes in it ( like last 4 item in the list ) ?
import re
host_name = ["XXX_Guangzhou_AP-CN-BEI-7517","XXX_Jakarta_AP-ID-JAK-0001","XXX_TaiPei_AP-TW-TPE-0002","XXX_Dubai_EM-AE-DUB-1012",
"XXX_Viladecans_EM-ES-VIL-1002","XXX_Ringsted_EM-DK-RIN-0001","XXX_Bogota_AM-CO-BOG-1033","XXX_Hamburg_EM-DE-HAM-1004",
"XXX_Bangkok_TH127","XXX_Bangkok_TH124","XXX_Eagan_6231","XXX_Martinez_AR218"]
hostRegex = re.compile(r"[^(AP\-|EM\-|AM\-)]")
mo = list(filter(hostRegex.findall,host_name))
print(mo)