.Net C#regex用于解析URL参数

时间:2009-01-12 03:19:05

标签: c# regex

我需要解析一个字符串,例如 的 /a/b/c/d=uno/c=duo.html

分为三组,如

  • / A / B / C /
  • d = UNO /
  • C = duo.html

解析规则是:

  1. 第一组是“d =”之前的所有内容,如果“d =”不是字符串的一部分,则为整个字符串。
  2. 如果“c =”不是字符串的一部分,则第二组是“c =”或第一组后面的其余字符串的所有内容。
  3. 第三组匹配第二组后面的其余字符串。
  4. 我的以下正则表达式的问题(?。+ /)?(?d =([^ /] +)/)?(?c =(?。*))是我不知道如何停止小组遇到“d =”时。

    任何帮助将不胜感激。

    感谢。

1 个答案:

答案 0 :(得分:8)

您需要在提供的表单中解析字符串,还是带参数的实际URL?如果是URL,您可以使用System.Web.HttpUtility.ParseQueryString提取包含每个参数及其值的NameValueCollection。

我发现即使在Windows窗体中也很有用(例如在ClickOnce部署的应用程序中解析查询参数)。