j'ai une longue liste de domaines avec des sous-domaines qui ressemblent à:domaines TLD avec Regex lorsque plusieurs sous-domaines
www.random.com
abc.api.random.co.uk
abc.def.api.random.ac.za
something.edu
another.random.net
random.pharmacy
Il y a de 0 à plusieurs sous-domaines sur chaque entrée (par exemple abc.def.api.random.ac.za
). J'essaie de comprendre comment je peux extraire juste le domaine et les TLD. Par exemple, étant donné la sortie ci-dessus, je suis à la recherche:
random.com
random.co.uk
random.ac.za
something.edu
random.net
random.pharmacy
Cela va un peu au-delà de ma compréhension actuelle de regex. Il semble que nous devons vérifier:
- Fin de la ligne est X caractères précédés d'un point (il y a quelques TLDs plus de 3 caractères, à savoir:
.pharmacy
) - Un groupe optionnel avant que cela soit 2 caractères:
co
,ac
etc. (à peu près sûr qu'aucun des domaines de second niveau dans ma liste a plus de 2 caractères - alternatively could build an explicit list of optional second-level domains to be more accurate) - la chaîne avant que le domaine est
- Tout avant qui est sous-domaine et nous ne voulons pas