Dot Net RegExp将特定URL与查询字符串匹配

时间:2016-06-08 06:41:01

标签: c# .net regex

我正在尝试为网站制作一个重定向工具,我需要一个带有特定查询字符串的特定路由的dotnet正则表达式。

我需要匹配 /folder/file.aspx?options=all

我需要匹配url部分(/folder/file.aspx)并且在查询字符串匹配中匹配如果options = all参数即使存在其他参数也是如此。

1 个答案:

答案 0 :(得分:2)

不是使用RegEx,而是在C#中有一个专用的URI类,它将按照here的说明为您执行此操作。您可以将其与HttpUtitility结合使用以提取查询参数。

var uri = new Uri("/folder/file.aspx?options=all");
var options = HttpUtility.ParseQueryString(uri.Query).Get("options");

如果您因为非显而易见的原因而偏爱正则表达式,那么就去:

var regex = new Regex("/folder/file\.aspx\?(?:\w+(?:=\w+)?&)*options=all");

您可以看到它的实际效果on Regex101