Regex Pattern, um alle Domains rauszufiltern

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
pythonguy
User
Beiträge: 28
Registriert: Donnerstag 22. November 2007, 18:51

Mittwoch 2. Januar 2008, 17:18

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?
BlackJack

Mittwoch 2. Januar 2008, 18:44

Warum so umständlich? Tut es '<a href="http://(.+?)"' nicht auch?
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Mittwoch 2. Januar 2008, 19:25

Davon mal abgesehen dass es knallt, wenn jemand beim href statt Doppelquotes Einfachquotes verwendet oder die Quotes weglässt.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
pythonguy
User
Beiträge: 28
Registriert: Donnerstag 22. November 2007, 18:51

Mittwoch 2. Januar 2008, 19:36

>> 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...
Zuletzt geändert von pythonguy am Mittwoch 2. Januar 2008, 19:38, insgesamt 2-mal geändert.
BlackJack

Mittwoch 2. Januar 2008, 20:20

Okay, dann halt: '<a href="http://(.+?)(?:/.*)?"
pythonguy
User
Beiträge: 28
Registriert: Donnerstag 22. November 2007, 18:51

Mittwoch 2. Januar 2008, 21:27

Super dank, das funzt :D :D
Antworten