RegExp Frage (URLs)

benneq

Fleet Admiral
Registriert
Juli 2010
Beiträge
12.620
Moin!

Ich habe hier ein (eigentlich) simples Problem und fühle mich gerade ganz schön doof, weil ichs nicht hinbekomme... ich bin zwar nicht sonderlich erfahren in Sachen RexExp, aber das sollte nun wirklich sehr sehr sehr einfach sein.

Sprache Java:

Code:
Code:
String home = "http://www.xyz.de/index.html
Matcher m1 = Pattern.compile("!!!HIER DAS PATTERN!!!").matcher( home.substring( home.lastIndexOf( '/' ) ) );
if(m1.matches()) {
	home = home.substring(0, home.lastIndexOf("/"));
}

Soll im Prinzip nur das hier bewirken:
Der String "home" ist in jedem Fall eine gültige URL (das wird schon vorher geprüft). Nun möchte ich, WENN die URL am Ende eine Datei hat, diese einfach abschneiden.
Das Abschneiden funktioniert wunderbar mit dem substring. Aber das Pattern will nicht...

Gedacht hatte ich an Folgendes: Pattern = "[/]{1}[.]+[^/]*"
Also genau ein Slash, dann mindestens ein Punkt und dann auf jeden Fall kein Slash mehr. Leider matcht das ganze nicht so wie ich will :(

Muss ich evtl überall noch lauter [a-zA-Z1-9] einbauen ?!

Grüße
 
hi,
verstehe ich das richtig das du z.b. aus deinem String home den Teil "index.html" abschneiden willst?

Wenn ja, warum regex? suche einfach nach dem letzten "/" und cutte da einfach.

Code:
        String home = "http://xyz.de/index.html";
        int i;
        i = home.lastIndexOf('/');
        home = home.substring(0, i);

Sowas in der Art.

MfG
 
Zuletzt bearbeitet:
ich hab in Java jetzt noch nicht so viel mit Regex gemacht, aber müsste man nicht bestimmte Zeichen mit Backslash schützen? Der Punkt zum Beispiels steht für jedes Zeichen außer Zeilenumbrüche.

also ich würd es aus dem stehgreif so machen:

pattern = "/{1}\.+[^/]*"
 

Ähnliche Themen

JavaScript Regexp Frage
Antworten
3
Aufrufe
895
Zurück
Oben