PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : regexp Frage (bzgl. Perl)


Birdman
2004-08-05, 15:52:59
Args, mein Brain ist einfach nicht tauglich für sowas, daher frage ich hier mal nach ob mir einer helfen kann ;)
Ich bräuchte den korrekten REGEXP (in einem Perl Script) command für folgende Operationen, bzw. möchte ich folgendes erreichen:

Das ganze dreht sich um URL, welche in folgendem Format vorkommen:

- www.domain.com
- www.domain.com:80
- WWW.DOMAIN.COM
- domain.com
- DOMAIN.com:80
- (plus noch einige weitere analoge Kombinationen)

Was ich nun mit einem REGEXP erreichen möchte, wäre dass es mir jeweils alles bis zum (optionalen) ":", bzw. ":80" schnappt, und das ganze dazu aber nur in lowercase. (falls etwas Uppercase ist)
Schlussendlich möchte ich also einfach nur noch die nackte "URL" haben, ohne Port angabe und alles kleingeschrieben.

Das ganze sollte ja eigentlich mit regexp problemlos gehen, nur ich bringt einfach ned hin ;)

Für Hilfe diesbezüglich wäre ich sehr dankbar.

Kant
2004-08-05, 16:21:35
Gehen sollte zb sowas :


$URL=~m/^([\.a-zA-Z0-9_-]*)/;
$REAL_URL=lc $1;


Es greift sich also die URL vom Start weg, solange bis ein "illegales Zeichen" vorkommt. Die untere Zeile konvertiert dann in Lower-Case. (Geht bestimmt auch im Reg-Exp selbst, bin da nicht wirklich ein Profi)

Birdman
2004-08-05, 18:28:59
ui, geile sache - gleich mal austest0rn
thx auf jedenfall schonmal