本人对正则不太熟悉,有个小需求,请教下大家。
page.aspx?a=1&b=1&c=1 这个url中a或b或c位置不固定个数也不固定,如:只有a与c参数没有b参数或只有一个参数,求一个表达式可以正确接收各参数。
是根据参数名取值是吧
public static string GetUrlParameterValue(string url, string parameterNM) { Regex urlRegex = new Regex(@"(?:^|/?|&)" + parameterNM + "=([^&]*)(?:&|$)", RegexOptions.IgnoreCase); Match m = urlRegex.Match(url); string parameterValue = string.Empty; if (m.Success) { parameterValue = m.Groups[1].Value; } return parameterValue; }
谢谢您的热心,你提供的方式我尝试过,但不是我想要的,谢谢。
(?:a=(?<avalue>[^&]*))|(?:b=(?<bvalue>[^&]*))|(?:c=(?<cvalue>[^&]*))
都能取到.
弱北滴问一下,我这个是配置到url重写的配置文件中的 您这里面的avalue这些占位的值需要改成什么呢?
@Sandglass: avalue就是正则分的组,我不太清楚你需要这些做什么用,所以我就给分了下组.
@发粪图墙: 额。这种格式在url重写的配置中不生效,不过还是得谢谢您。