я пытаюсь извлечь информационный хеш из ссылки на торрент-магнит, используя perls regex
ссылка на магнит выглядит так:
магнит:? Xt = urn: btih: 8AC3731AD4B039C05393B5404AFA6E7397810B41 & dn = ubuntu + 11+ 10 + oneiric + ocelot + рабочий стол + cd + i386 & tr = http% 3A% 2F% 2Ftracker.openbittorrent.com% 2Fannounce
но иногда это может выглядеть следующим образом:
магнит:? Xt = urn: btih: 8AC3731AD4B039C05393B5404AFA6E7397810B41
часть, которую я пытаюсь извлечь, - это 8AC3731AD4B039C05393B5404AFA6E7397810B41
im, пытающаяся захватить все до первой строки '&', если в ней указана только одна строка, или если в ней есть только строка с информацией о начале или в конце, то в эту строку входит только информация "до", если в нее включена только информацияпара способов, но не могу заставить его работать правильно
то, что у меня ниже, захватывает только первый символ
if ($tmpVar =~ m/magnet\:\?xt=urn\:btih\:([[:alnum:]]+?)/i) {
$mainRes{'hash'} = $1;
}
Я также попытался добавить & | $ после захвата, но это просто приводит к ошибке
Спасибо