2016-06-03 7 views
0

Ich versuche, zu beseitigen (was manchmal mehrere ist) Sub-Domains aus einer Liste so bin ich links nur mit dem Domainnamen plus der TLD oder ccTLDbeseitigen (multiple) Sub-Domains über RegEx

Beispieldaten in ...

something1.something2.example.com 
something3.something3.example.co.uk 
www.example.net 
random.something.else.example.cc 

Beispiel Datenausgabe ...

example.com 
example.co.uk 
example.net 
example.cc 

Was ich versucht habe ...

^.*(?!(?<=\.))\..*\.{2,3}$ 

Gibt es eine Funktion oder einen besseren (Arbeits) Weg, dies zu tun?

Antwort

1

Wenn Sie wollen einfach nur die betreffenden Daten übereinstimmen, nicht die Mühe, vom Anfang der Zeile passend:

[^.]*(\.[^.]{2,3}){1,2}$ 

Ausprobieren regex101.

Wenn Sie möchten, um die Linien zu ersetzen, Gruppe alles, und wählen Sie alles von Anfang an der Linie:

^.*?([^.]*(\.[^.]{2,3}){1,2})$ 

dann mit dem ersten Rückbezug ersetzen.

Versuchen Sie es auf regex101.

Beachten Sie, dass es keinen Weg gibt, einen Domainnamen mit 3 Buchstaben oder weniger von einer ccTLD zu unterscheiden (es sei denn, Sie möchten alle auflisten), sodass die korrekten Daten möglicherweise nicht angezeigt werden. Zum Beispiel wird mit "this.may.bug.com" "may.bug.com" statt der erwarteten "bug.com" übereinstimmen.

+0

ok, das ist in der Nähe, aber vielleicht war ich nicht klar, ich möchte mit Regex die zusätzlichen Subdomains "auswählen" (damit ich sie löschen kann) und behalten/verlassen Sie die Domain und TLD. Also im Grunde das genaue Gegenteil von dem, was Ihre Regex tut. – notAduck

+0

@ user3769418 Überprüfen Sie mein zweites regex101 Beispiel, es tut genau das, was Sie wollen (aber nicht in der Art, wie Sie es in diesem Kommentar gesagt haben). – Aaron

+0

Humm, dein Recht, aber ich hatte gehofft, eine Suche [regex statement] zu machen und durch [blank] in notepad2 oder ähnlichem zu ersetzen, damit ich den ersten Teil eliminieren konnte. Ich denke, ich muss lernen, wie die Substitution/1 Sache funktioniert und wenn ich etwas Ähnliches in Notepad2 machen kann – notAduck