我正在尝试为网站制作一个重定向工具,我需要一个带有特定查询字符串的特定路由的dotnet正则表达式。
我需要匹配 /folder/file.aspx?options=all
我需要匹配url部分(/folder/file.aspx)并且在查询字符串匹配中匹配如果options = all参数即使存在其他参数也是如此。
答案 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。