Я хочу разобрать ссылки в стиле уценки, но у меня возникают проблемы с сопоставлением ссылок в стиле ссылок. Как этот: [id]: http://example.com/ "Optional Title Here"
Мое регулярное выражение получает идентификатор и URL, но не название.
Вот что у меня есть:
/\[([a-zA-Z0-9_-]+)\]: (\S+)\s?("".*?"")?/
Я перехожу и добавляю ссылки в хеш-таблицу. id в качестве ключа, а значение - это экземпляр класса, который я создал и который называется LinkReference
, который содержит только URL и заголовок. Если проблема не в моем регулярном выражении, а в том, что мой код добавляет совпадения в хеш-таблицу, вот мой код для этого тоже:
Regex rx = new Regex(@"\[([a-zA-Z0-9_-]+)\]: (\S+)\s?("".*?"")?");
MatchCollection matches = rx.Matches(InputText);
foreach (Match match in matches)
{
GroupCollection groups = match.Groups;
string title = null;
try
{
title = groups[3].Value;
}
catch (Exception)
{
// keep title null
}
LinkReferences.Add(groups[1].Value, new LinkReference(groups[2].Value, title));
}