use strict;
my $str = 'var response=[];//ютф8
var _iddb="1";
var _basequant="2391872";
var _flag45="yes";
response[0]= {
_size: "1",
_result_0: {
_isn: "1606361",
_id: "SKBM-SZAO-RU/CBS_SZAO/IBIS/117439",
_level: "Full",
_iddb: "1",
_sourceIddb: "1",
_archive: "false",
_controlType: "UNDEFINE",
_status: "NEW",
_FULLFORM_0: [
"<Автор:>[i class=RP]Кононов, Николай[/i]",
"<Основное заглавие:> Код Дурова",
"<Сведения, относящ. к заглавию:> реальная история ВКонтакте и ее создателя",
"<Ответственность:> Н. Кононов",
"<Место издания:> Москва",
"<Издательство:> [i class=PU]Манн, Иванов и Фербер[/i]",
"<Дата издания:> 2013",
"<Объем:> 188, [19] с.",
"<Аннотация:>Павел Дуров почти не общается с журналистами, но автору этой книги удалось проникнуть внутрь ВКонтакте. Получилось не просто журналистское расследование, а авантюрная история, исследующая феномен сетевого предпринимателя-харизматика и его детища, а заодно и вполне материальное выражение популярности бизнеса соцсети.",
"<isbn:> 978-5-91657-546-0",
""
]
},
_iddb_0: {
_number: "1",
_title: "Сводный каталог"
}
};
var test=1;//ютф8
</isbn:>';
my $regex = qr/<isbn:>\s+([\d-]+)/p;
if ( $str =~ /$regex/ ) {
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