Holen Sie sich mit dem Namen von URL mit Hilfe von Regulären Ausdrücken oder Javascript
Ich brauche, um den Dateinamen aus der URL-Adresse.
Ist hier die Kriterien:
Es brauchen, um wieder leere Zeichenfolge ""
in folgenden Szenarien:
http://somedomain.com
http://www.somedomain.com
http://somedomain.com/
http://www.somedomain.com/
Und zurück filename.php in den folgenden Szenarien:
http://somedomain.com/filename.php?query
http://www.somedomain.com/filename.php?query
http://somedomain.com/filename.php#query
http://www.somedomain.com/filename.php#query
Fand ich diesen regulären Ausdruck
[\w_.-]*?(?=[\?\#])|[\w_.-]*$
aus hier
gibt aber somedomain.com
auf input http://somedomain.com
. Ich kann nicht herausfinden, wie es zu ändern, ignorieren Sie die Domäne, wenn es keine /
am Ende.
Wenn es schwierig ist, zu tun, mit regulären Ausdrücken, ich Schätze eine JavaScript-Lösung.
Danke im Voraus.
InformationsquelleAutor miki725 | 2010-12-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorausgesetzt, Sie sind schreiben-Skript in einem browser, es ist schon ein full-featured-URL-parser für Sie zu nutzen, ohne zu schreiben, unzuverlässig, unvollständig regexen. Verwenden Sie ein HTMLAnchorElement zu Lesen, die
location
-ähnliche Eigenschaftenhost
,pathname
,search
,hash
etc.:InformationsquelleAutor bobince
Diese mit dem Namen in
$1
:[^:]+://[^/]+/?([^?#]*)
(p.s. http://rentzsch.github.com/JSRegexTeststand/ ist dein Freund für diese Art von test)
InformationsquelleAutor kevingessner
Verwenden Sie diese geänderte version der Reg-ex:(Hinzugefügt \/zu den vorhandenen)
InformationsquelleAutor Chandu