Это было бы лучше всего реализовано с опережением. Однако, поскольку JavaScript не поддерживает просмотр в обратном направлении, мы должны имитировать его путем обращения строки и использования упреждающего просмотра.
String.prototype.reverse = function () {
return this.split('').reverse().join('');
};
var input = '<a href="http://picasaweb.google.com/lh/photo/NHH78Y0WLPAAzIu0lzKlUA?feat=embedwebsite"><img src="http://lh3.ggpht.com/_ADW_3zOQhj8/TGgN4bXtfMI/AAAAAAAABCA/w6M-JKzNtBk/s144/DSC_2132.jpg" /></a>'
var matches = input.reverse().match(/(gepj|gpj|gif|png)\..+?\/\/:ptth(?=\"\=crs)/g);
Это вернет массив URL обращенных изображений, поэтому вам придется их перевернуть.
for (i = 0; i < matches.length; i++)
{
matches[i] = matches[i].reverse();
}
Если вам известен формат ссылок на ваши изображения, вы можете указать более прогнозируемые значения, например:
var matches = input.reverse().match(/(gepj|gpj|gif|png)\..+?\/\/:ptth(?=\"\=crs gmi)/g);
Что будет совпадать только в том случае, если сразу за <img
следует src
.
Воспроизведение с оглядкой на спину, взятое с Стивен Левитан