我在网站上使用网址重写并实现了代码:
r = new Regex(@"Default.aspx\?Buy=(?<1>[\w\-\+]*)(?:&|&)+PageIndex=(?<2>[\d]*)""", RegexOptions.IgnoreCase);
txt = r.Replace(txt, "$1_dp.html?page=$2\"");
在这种情况下,我的链接是:
www.mydomain.com/computers_dp.html?page=0 [1,2,3]取决于页码。
RegEx是否通过简单方法检查page = 0然后不添加param?page = 0并仅在PageIndex为&gt;时添加它0
谢谢!
答案 0 :(得分:0)
好的,我认为这是解决这个问题的最简单方法。假设您已经实现了正则表达式,我会添加另一个正则表达式,只需将"?page=0"
替换为""
。
r2 = new Regex(@"\?page=0$""", RegexOptions.IgnoreCase);
txt = r2.Replace(txt, "\"");
除了非常痛苦的条件前瞻之外,真的没有办法检查正则表达式中捕获的组的值,所以只需添加另一个正则表达式来删除极端情况是最简单的,因此也是最佳解决方案。