[linux-l] URL-Regexp

Oliver Bandel oliver at first.in-berlin.de
Sa Feb 22 14:01:42 CET 2003


On Sat, Feb 22, 2003 at 01:18:44PM +0100, Carsten Posingies wrote:
> Oliver Bandel <oliver at first.in-berlin.de> schrieb:
> 
> > Das bisherige Script tut's auch in den meisten Fällen, aber
> > manchmal eben auch nicht.
> 
> ... da sag ich jetzt mal nichts im Bezug auf fehlerfreien Code und so zu...
> ;-)


1) Ist ja ein privates Script, das hat natürlich nicht den Anspruch
auf Perfektion. Das war als "ganz nette Sache" gedacht, die aber
nicht soooo hohe Priorität hatte. Hätte ich das für nen Job gemacht,
hätte ich das 100%ig auf URL-Spezifikation programmiert. :)
(Man muß eben auch abwägen, wann man wo wieviel Aufwand betreibt.
Ob es "nice to have" ist, oder "mandatory".)
Die Anwendung stürzt jedenfalls nicht wegen eines falschen patterns
ab. Sie liefert nur möglicherweise nicht nur verwertungsfähige Daten,
sondern auch ein paar Blindgänger (die man dann entweder
händisch aussortieren kann, oder eben mit einem erweiterten Script
auseinander pflückt.)




2) Das Script soll auch nicht-konforme URLs erkennen können.

Zu 2): Deswegen sind aufgrund dessen schon gewisse "Löcher"
       mit drin. Aber genau die will ich stopfen.
       (Das Problem von real-world-Texterkennung-/Analyse
       ist ja nun noch etwas anders gelagert, als nur eine
       URL auseinander zu pflücken...)


Das Script dient dem Zwecke, aus Texten/Mails alle
URLs raus zu greifen. Und in Mails zitierte URLs
sind eben nicht unbedingt konforme URLs (Tippfehler).


Schön wäre es aber, das gleich Unterscheiden zu können,
und zu sagen:

Definitiv Standard-konforme URL -> da hin ablegen
vermutlich eine URL             -> dort hin ablegen

Also sozusagen mit dem Aschenputtel-Verfahren zu arbeiten.

Aber wenn man dann noch unterscheiden könnte, ob die
"vermutlich URL" überhaupt brauchbar sind, oder so
krüppelig, daß die als URL nicht mehr nutzbar sind,
dann wäre das eben noch besser.


Und da ich das ganze letztlich nicht unbedingt in Perl
realisieren will, aber möglicherweise auch in Perl,
wäre auch ein Emacs-Regexp-Style-Pattern ganz nett.
Aber man kann ja mit dem perl-Pattern erst mal anfangen,
denn das bin ich gewöhnt.

> 
> Aber die Aufgabe ist - um mal zum Thema zurückzukehren - wirklich knifflig.
> Wie wär's, wir entwerfen hier in der Liste mal eine Allround-Pattern?

Hmhhh. Von mir aus.

In einem der Links, der mir hier gennant wurde, ist übrigens
der Syntax-Aufbau der URL beschrieben. Muß man sich also
garnicht durch tausende von www-Dokumenten quälen, um die
zu finden. :)

BTW: Wenn das nur ein Pattern ist, das auch "vermutlich URL"
matcht, und man dann den Rest durch weitere Programm-Elemente
(oder eben URL-definition-Patterns) auf
"ist strictly standard-conform url/ist nicht striclty standard-conform URL"
testet, wäre das auch ganz gut, dann kann man nämlich
gleich die guten ins Kröpfen stecken und die schlechten
ins Töpfchen - wo man sie bei Bedarf auch wieder finden kann,
also nicht verwirft, wenn sie nicht 100%ig nicht standardkonform sind.


Vielleicht ist das jetzt klarer, wieso da "Löcher" vorhanden sind,
die ich erst mal in Kauf genommen hatte.
Soviel zu "fehlerfreiem Code": Ist im bisher angestrebten Kontext
vollkommen in Ordnung. Nur will ich das jetzt gerne mal
etwas weiter präzisieren, da ich das ganze doch mal auch nutzen will
und nicht nur so nebenbei laufen zu lassen.

Ciao,
   Oliver




Mehr Informationen über die Mailingliste linux-l