Seite 1 von 1

Regex Pattern, um alle Domains rauszufiltern

Verfasst: Mittwoch 2. Januar 2008, 17:18
von pythonguy
Ich habe wieder mal eine Frage zum Thema Regex an euch, unzwar geht es darum, einen Regex Pattern zu finden, der auf jeder Seite funktioniert (Domains rausfiltern):
<a href="http://(.+?)(/{1}.+?"{1}|"{1})
habe ich, funzt soweit auch, allerdings habe ich durch die zweite () immer eine Tupel mit den Domains und deren Unterseiten, wenn ich allerdings die zweite () weglasse, weiß der Interpreter nicht, worauf sich das Oderzeichen | bezieht, kann mich jemand weiterhelfen?

Verfasst: Mittwoch 2. Januar 2008, 18:44
von BlackJack
Warum so umständlich? Tut es '<a href="http://(.+?)"' nicht auch?

Verfasst: Mittwoch 2. Januar 2008, 19:25
von Leonidas
Davon mal abgesehen dass es knallt, wenn jemand beim href statt Doppelquotes Einfachquotes verwendet oder die Quotes weglässt.

Verfasst: Mittwoch 2. Januar 2008, 19:36
von pythonguy
>> Warum so umständlich? Tut es '<a href="http://(.+?)"' nicht auch?

Habe ich als Test auf 100 Websites angewandt und mich dagegen entschieden:

1. Will ich nur die Domains, da werden auch Unterseiten mitgematcht
2. Versteht der Interpreter die Anweisung manchmal nicht und zeigt mir auch mal die Tags drumherum an...

Zum Thema Quotes: daran habe ich auch schon gedacht, allerdings sollte der Code erstmal bei einfachen Quotes funzen...

Verfasst: Mittwoch 2. Januar 2008, 20:20
von BlackJack
Okay, dann halt: '<a href="http://(.+?)(?:/.*)?"

Verfasst: Mittwoch 2. Januar 2008, 21:27
von pythonguy
Super dank, das funzt :D :D