Regex to match filename at end of URL

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.


Other choices. In node.js development, you can use the path module and use path.parse() to break a path up into all of its various components.

And, there are various libraries written for the browser that will break up a path into its components too.


Here's a simple Regex that will match everything after the last /:

/[^/]*$