Juan Juan - 4 months ago 10
Javascript Question

Regex to match filename at end of URL

Having this text:

http://img.oo.com.au/prod/CRWWBGFWG/1t44.jpg


And other texts like this where the last
1
can be any other number and the last
44
can be any other number as well, I need a regex that will match
/1t44.jpg
. Everything I've tried so far (
/.+?\.([^\.]+)$
) matches from the first slash (
//img.oo.com.au/prod/CRWWBGFWG/1t44.jpg
).

I'm using javascript so whatever works on RegexPal should do.

Thanks in advance.

Answer

If you want to match a filename with a very specific file extenstion, you can use something like this:

/\/\dt\d\d\.jpg$/

This matches:

a slash
followed by a digit
followed by the letter 't'
followed by two digits
followed by '.jpg' at the end of the string

Or, if you really just want the filename (whatever is after the last slash with any file extension), then you can use this:

/\/[^\/]+$/

This matches:

a slash
followed by one or more non-slash characters
at the end of the string

In your sample string of http://img.oo.com.au/prod/CRWWBGFWG/1t44.jpg, both of these will match /1t44.jpg. The first is obviously much more restrictive since it requires a specific format of the filename. The second matches any filename.

Comments