Letztes Wort nach /

9

Also, ich habe eine Art von internen URLs: zum Beispiel "/img/pic/Image1.jpg" oder "/pic/Image1.jpg" oder einfach "Image1.jpg", und ich muss dieses "Image1 .jpg "mit anderen Worten, ich möchte die letzte Zeichenfolge nach / oder wenn es keine / als nur Zeichenfolge gibt. Vielen Dank im Voraus!

    
Le_Coeur 16.02.2010, 12:52
quelle

8 Antworten

11

.*/(.*) funktioniert nicht, wenn keine / s vorhanden ist.

([^/]*)$ sollte funktionieren, ob vorhanden oder nicht.

    
dubiousjim 16.02.2010, 12:58
quelle
11

Eigentlich brauchst du dafür kein regexp.

%Vor%

und es funktioniert auch für Strings ohne / , weil lastIndexOf dann -1 zurückgibt.

%Vor%     
Jonas Elfström 16.02.2010 13:11
quelle
3
%Vor%

Die einfangende Gruppe stimmt mit der letzten Sequenz nach /.

überein     
deamon 16.02.2010 12:55
quelle
2

Der folgende Ausdruck würde den Trick machen:

%Vor%

Oder noch einfacher (aber ich denke, das wurde auch schon vor mir gepostet)

%Vor%     
Fabian 16.02.2010 12:56
quelle
1

In Ruby würden Sie

schreiben %Vor%

Regexps in Ruby sind ziemlich universell und Du kannst sie hier live testen: Ссылка Übrigens: Vielleicht gibt es eine andere Lösung, die keine Regexps beinhaltet? ZB File.basenam(path) (Ruby wieder)

Bearbeiten: profjim hat es schon früher gepostet.

    
Dawid Fatyga 16.02.2010 13:03
quelle
1

Ich habe bemerkt, dass du in deinen Kommentaren sagst, dass du Javascript verwendest. Sie brauchen dafür eigentlich keine Regex und ich denke immer, es ist schön, eine Alternative zur Verwendung von Regex zu haben.

%Vor%     
Andy E 16.02.2010 13:10
quelle
1

Eine einfache Regex, die ich getestet habe:

%Vor%

Hier ist eine gute Seite, an der Sie sie testen können: Ссылка

    
Islam Wazery 04.03.2014 10:09
quelle
0

Etwas wie. * / (. *) $ (Details hängen davon ab, ob wir über Perl oder einen anderen Dialekt regulärer Ausdrücke sprechen)

Erstens. * entspricht allem (einschließlich Schrägstrichen). Dann gibt es einen Schrägstrich, dann gibt es. * Das passt alles von diesem Schrägstrich bis zum Ende (das ist $).

Der * funktioniert gierig von links nach rechts, was bedeutet, dass wenn Sie mehrere Schrägstriche haben, der erste. * alle bis auf den letzten passt.

    
Tadeusz A. Kadłubowski 16.02.2010 12:57
quelle

Tags und Links