2012-02-29 12 views
7

Ho alcuni URL e mi piace prendere la parte finale dell'URL.Regex per abbinare l'URL ultima parte con JavaScript

miei URL sono in forma di

http://www.my-site.dch/wp-content/uploads/2012/02/Tulips.jpg 
http://www.my-site.dch/wp-content/uploads/2012/02/Tulips-150x200.jpg 
http://www.my-site.dch/wp-content/uploads/2012/02/Tulips-500x350.jpg 

e quello che mi piace di catturare è il /Tulips.......jpg

devo provare questo, ma senza fortuna

\/.*(-\d+x\d+)\.(jp(e)?g|png|gif) 

Qualche idea migliore?

+1

Se si dispone di un sacco di manipolazione ULR e desideri che il tuo codice per essere più leggibile, vi consiglio l'ottimo uri.js http://medialize.github.com/URI.js –

risposta

24

Date un'occhiata al metodo di lastIndexOf:

var index = url.lastIndexOf("/"); 
var fileName = url.substr(index) 
+0

Questo è meglio di tutto quanto sopra. – shift66

+0

testa a testa, questa soluzione non funziona se url ha parametri. vale a dire: www.something.com/image.jpg?size=100x100 (quotato in su perché è ancora una buona soluzione per questa domanda) – tbraun

+0

Vedere http://stackoverflow.com/a/11664379/232175 per una bella libreria che gestisce di più URI complessi (URI.js). – Matthias

1

.*/(.*) uso questo schema e ottenere il 1.it gruppo lavorerà immagino.
.* è un regex avido in modo che corrisponda fino allo ultima barra. Dopo che nel gruppo 1 sarà l'ultimo caratteri (quello che ti serve)

+0

Penso che la risposta di @ winSharp93 sia la migliore. – shift66

8

La seguente espressione regolare lavorerà:

/[^\/]+$/ 
+0

Questo preleva anche la stringa di query. – Brad

3

Utilizzare questo Regex: -

^((http[s]?|ftp):\/)?\/?([^:\/\s]+)((\/\w+)*\/)([\w\-\.]+[^#?\s]+)(.*)?(#[\w\-]+)?$ 

ottenere il nome del file usando $6

1

Se si è sicuri che tutte le immagini siano jpg:

/.\/\S+\.jpg/ 

In caso contrario, più generale:

/.\/\S+\.\w{2,3}/ 

Cioè:

. any char 
\/ the slash before the file name 
\S+ any non blank char to match the file name (at least one) 
\. the file extension separator 
jpg or \w{3,4} the file extension 
Problemi correlati