Я ищу шаблон регулярных выражений, чтобы убедиться, что мой HTML-ввод имеет правильную структуру и (возможно, на втором этапе) извлечь из него некоторую информацию.
Пример Inputtext:
<title>Example Title</title><br />
<link>Download:</link> <a href="URL">hier</a> | hoster1 <br />
<link>Download:</link> <a href="URL">hier</a> | hoster2 <br />
<link>Download:</link> <a href="URL">hier</a> | hoster3
Название, хостер и URL, конечно, могут измениться, и их будет интересно узнать, поэтому моя попытка была примерно такой:
<title>([^<]+?)</title><br />\s<link>Download:</link> <a href="([^"]+?)">hier</a> \| ([^<]+?)<br />\s
Эти группы могут показаться немного глупыми, но я тоже пытался (. *?) и даже в режиме lazy-mode он будет просто соответствовать целым строкам.
Прямо сейчас вторая часть (часть ) будет совпадать, но не в сочетании с единицей ,Я предполагаю, что мой символ пробела не совпадает с новой строкой?Как проверить ТОЛЬКО символ новой строки?
Количество доступных ссылок является динамическим, поэтому я понятия не имею, сколько существует тегов .Как я могу использовать вторую половину шаблона в качестве повторяемого шаблона?Я хотел бы сделать что-то вроде этого (что, очевидно, не работает таким образом):
[ <link>Download:</link> <a href="([^"]+?)">hier</a> \| ([^<]+?)<br />\s ]*
Все это делается с помощью набора опций MULTILINE (Althought я не слишкомконечно, это нужно для того, что я хочу сделать).
Я пробую несколько разных вещей уже несколько дней и никуда не денусь, я бы очень признателен за несколько указателей в правильном направлении, спасибо.