.Net C # регулярное выражение для анализа параметров URL - PullRequest
0 голосов
/ 12 января 2009

мне нужно разобрать строку, такую ​​как / A / B / C / D = UNO / с = duo.html

на три группы, такие как

  • / A / B / C /
  • д = UNO /
  • с = duo.html

Правила разбора:

  1. Первая группа - это все до "d =" или всей строки, если "d =" не является частью строки.
  2. Вторая группа - это все, пока "c =" или остальная часть строки не следует за первой группой, если "c =" не является частью строки.
  3. Третья группа соответствует оставшейся части строки, следующей за второй группой.

Моя проблема со следующим регулярным выражением (?. + /)? (? D = ([^ /] +) /)? (? C = (?. *)) Заключается в том, что я не знаю, как остановить группа, когда она встречает "d =".

Любая помощь будет оценена.

Спасибо.

1 Ответ

8 голосов
/ 12 января 2009

Строка, которую вам нужно проанализировать в предоставленной вами форме, или это фактический URL с параметрами? Если это URL, вы можете использовать System.Web.HttpUtility.ParseQueryString , чтобы извлечь коллекцию NameValueCollection, содержащую каждый параметр и его значение.

Я нашел это полезным даже в Windows Forms (например, анализ параметров запроса в развернутых приложениях ClickOnce).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...