regex match nazwa głównej domeny
Muszę być w stanie zidentyfikować nazwę domeny dowolnej subdomeny.
Przykłady:
Dla wszystkich złodziei muszę się dopasowaćexample.co
/ example.com
/ example.org
/ example.co.uk
/ example.com.au
/ example.gov.us
i tak dalej
www.example.co
www.first.example.co
first.example.co
second.first.example.co
no.matter.how.many.example.co
first.example.co.uk
second.first.example.co.uk
no.matter.how.many.example.co.uk
first.example.org
second.first.example.org
no.matter.how.many.example.org
first.example.gov.uk
second.first.example.gov.uk
no.matter.how.many.example.gov.uk
Cały dzień gram z wyrażeniami regularnymi i przez cały dzień korzystam z Google'a i wciąż nie mogę znaleźć czegoś.
Edit2: Preferuję wyrażenie regularne, które może się nie udać w bardzo dziwnych przypadkach, takich jak t.co, a następnie wymień wszystkie domeny TLD, a te, których nie wymieniłem, ale które można było przewidzieć jako porażki i dopasować więcej niż powinny. Czy nie jest to opcja, którą wybrałbyś?
Aktualizacja: Korzystając z wybranej odpowiedzi jako przewodnika, skonstruowałem ten regex, który wykonuje zadanie dla mnie.
/([0-9a-z-]{2,}\.[0-9a-z-]{2,3}\.[0-9a-z-]{2,3}|[0-9a-z-]{2,}\.[0-9a-z-]{2,3})$/i
To może nie być idealne, ale jak dotąd nie spotkałem przypadku, w którym się nie powiedzie.