У меня есть шаблон регулярных выражений, который извлекает URL и текст ссылки, чтобы превратить пользовательский тег в тег. Когда я пробую свой шаблон на онлайн-контролере, он находит 4 совпадения, но когда я запускаю мой код, c# находит только одно совпадение.
Regex rgx = new Regex(@"(\[)+(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)( )(.)+(\])");
Запись похожа на
[http://facebook.com/ LinkText]
[http://youtube.com/ LinkText]
[http://instagram.com/ LinkText]
[https://stackoverflow.com/users/1131979/cagri-d-kaynar LinkText]
My Код
Regex rgx =
new Regex(@"(\[)+(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)( )(.)+(\])");
foreach (Match match in rgx.Matches(entry))
{
var matchv = match.Value;
/*extract url and Link text from match value*/
var bknz =
String.Format("<a href=\"{0}\" target=\"_blank\">{1}</a>", cc[0], cc[1]);
entry = rgx.Replace(entry, bknz);
}
Что случилось с моим кодом? Я пропустил флаг или ste?