Собственно, есть паттерн, который работает, но есть проблема, никак не могу понять как вытащить все начиная от первой группы.
var r = new Regex(@"^himikogp?:\/\/*(\/[\w- ./?%&=]*\/\w+\/)*([{0-9}]\w+)$", RegexOptions.Compiled | RegexOptions.IgnoreCase);
var m = r.Match(command);
Вот строка из которой получаем группы: himikogp://install/app/987
Хотелось бы из групп сформировать IList
Ответ
Вам нужно использовать метод Matches класса Regex и организовать цикл по результату, который он вернет:
string pattern = "^himikogp?:\/\/*(\/[\w- ./?%&=]*\/\w+\/)*([{0-9}]\w+)$";
foreach (Match match in Regex.Matches(command, pattern, RegexOptions.IgnoreCase))
Console.WriteLine("{0} at position {1}", match.Value, match.Index);
Вместо Console.WriteLine делаете, что вам нужно, т.е добавляете в массив match.Value
Комментариев нет:
Отправить комментарий