use strict;
my $str = '!Gotovoe Anya/а шарик летит/700.psd
!Gotovoe Anya/С 5 до 7. Время любовников (Сурдоперевод)/4478751.psd
!Gotovoe Anya/#вмаскешоу/8115515.psd
!Gotovoe Anya/#Гуднайтшоу/3627751.psd
!Gotovoe Anya/#Гуднайтшоу/3627751_RU.psd
!Gotovoe Anya/#ЛавСтайл/3086771-lavstayl.psd
!Gotovoe Anya/#яздесь/4572015.psd
!Gotovoe Anya/#ЯЗДЕСЬ/6925565.psd
!Gotovoe Anya/(Не)идеальная женщина/10010315.psd
!Gotovoe Anya/... а шарик летит/700.psd
!Gotovoe Anya/@Жених/5851405.psd
!Gotovoe Anya/«V» значит Вендетта/2457401.psd
!Gotovoe Anya/«Весёлые» каникулы/1341041.psd
!Gotovoe Anya/«Вне игры. Пролог». Документальный фильм/4460771.psd
!Gotovoe Anya/«Кедр» пронзает небо/1193411.psd
!Gotovoe Anya/«Мерседес» уходит от погони/15380.psd
!Gotovoe Anya/«Посейдон» спешит на помощь/1684351.psd
!Gotovoe Anya/«Старый» Новый год/2454371-staryy-novyy-god.psd
!Gotovoe Anya/«Сто грамм» для храбрости/1363311.psd
!Gotovoe Anya/«Тигры» на льду/2312_RU.psd
!Gotovoe Anya/0 в пользу Танечки/2391.psd
!Gotovoe Anya/1/2930981.psd
!Gotovoe Anya/1+1 (Сурдоперевод)/2681801.psd
!Gotovoe Anya/1+1 дома 8 марта/2474581.psd
!Gotovoe Anya/1+1 дома 8 марта/2474581-1-1-doma-8-marta-2.psd
!Gotovoe Anya/1+1/2214021.psd
!Gotovoe Anya/2 Brothers On The 4Th Floor - караоке/10307755.psd
!Gotovoe Anya/2 дня/95161.psd';
my $regex = qr/.+\/+(\d+).+?psd/mp;
if ( $str =~ /$regex/g ) {
print "Whole match is ${^MATCH} and its start/end positions can be obtained via \$-[0] and \$+[0]\n";
# print "Capture Group 1 is $1 and its start/end positions can be obtained via \$-[1] and \$+[1]\n";
# print "Capture Group 2 is $2 ... and so on\n";
}
# ${^POSTMATCH} and ${^PREMATCH} are also available with the use of '/p'
# Named capture groups can be called via $+{name}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Perl, please visit: http://perldoc.perl.org/perlre.html