Regex: matching filename base

http://stackoverflow.com/q/15845104/2170192

by vovkss

JavaScript

var strings=
[
  'assets/BigBlueSomething_tn.jpg', 
  'BigBlueSomething_tn.jpg', 
  'dir1/dir2/BigBlueSomething_tn.gif', 
  'BigBlueSomething.png', 
  'BigBlueSomething_thumb.png', 
  'directory/BigBlueSomething_thumb.JPEG'
];

for (var i = 0; i < strings.length; i++) 
{
  document.write(strings[i].match(/^(?:.*\/)?([0-9a-z]+)(?:_[a-z]+)?\.(?:jpg|jpeg|png|gif)$/i)[1]);
  document.write('<br />');
}