2013-12-21 3 views
0

Как мне получить название торрента с магнитной ссылки с помощью регулярного выражения? URI выглядит следующим образом:Как получить имя из URI магнита с помощью регулярного выражения?

magnet:?xt=urn:btih:1e4dae83371ba704d5d89e1828068ef0c4151e32&dn=Steam+OS+Official+Installer&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.istole.it%3A6969&tr=udp%3A%2F%2Ftracker.ccc.de%3A80&tr=udp%3A%2F%2Fopen.demonii.com%3A1337 

Я думал &dn*& будет работать, но он получает ее до последней &, когда я хочу только одну за дп.

Я хочу, чтобы все от '&dn= до следующего &, но я не могу получить шаблон правильно, может ли кто-нибудь предложить мне некоторое представление о наилучшем способе сделать это и объяснить каждую часть шаблона? Спасибо.

ответ

1

Использование lazy matching (путем добавления ? к конструкции группы):

&dn=(.*?)& 

, который просто означает, что матч завершится первый &, напротив жадные соответствия по умолчанию, когда он будет пытаться соответствовать столько, сколько возможное.

Смежные вопросы