Есть строка - ответ от веб сервера, приблизительно такого содержания
parameter0=213123123¶meter1=abcd¶meter2=vdv3123cdc
Как можно с помощью регулярных выражений вытащить значение параметра?
Попробовал следующим образом: var regex = new Regex(@"parameter0=.*?(&|\r\n)");
Но в данном случае вернет parameter0=213123123&, по идее необходимо вытащить только значение. И к сожалению данный вариант не найдет parameter2.
Используйте для задач соответствующие инструменты(System.Web.HttpUtility)
string q = "parameter0=213123123¶meter1=abcd¶meter2=vdv3123cdc";
var result = HttpUtility.ParseQueryString(q);
Console.WriteLine(result["parameter2"]);
The ParseQueryString method uses UTF8 format to parse the query string
In the returned NameValueCollection, URL-encoded characters are
decoded and multiple occurrences of the same query string parameter
are listed as a single entry with a comma separating each value.
То есть вдобавок при этом параметры ваши будут декодированы (а-ля %20и т.п.), а повторяющиеся объединены через запятую.
В таких простых случаях решение без регекспов будет гораздо понятнее и читабельнее, например:
var s = "parameter0=213123123¶meter1=abcd¶meter2=vdv3123cdc";
var parameters = s.Split('&')
.Select(pair => pair.Split('='))
.ToDictionary(pair => pair[0], pair => pair[1]);
Console.WriteLine(parameters["parameter0"]);
Сплитим по &, затем каждый кусок сплитим по =, первый элемент берем как ключ, второй - как значение. На выходе словарь, в котором можно по ключу искать значение.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости