Страницы

Поиск по вопросам

понедельник, 15 июля 2019 г.

Regex c# группы в массив, или IList

Собственно, есть паттерн, который работает, но есть проблема, никак не могу понять как вытащить все начиная от первой группы.
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

Комментариев нет:

Отправить комментарий