Asp.net 这个(简单)正则表达式的帮助。。。?
我正在对我的APS.NET应用程序使用URL重写,但没有太多机会匹配以下正则表达式Asp.net 这个(简单)正则表达式的帮助。。。?,asp.net,regex,Asp.net,Regex,我正在对我的APS.NET应用程序使用URL重写,但没有太多机会匹配以下正则表达式 <rewrite url="~/deals/(.+)$" to="~/Deals.aspx?deal_string=$1" /> <rewrite url="~/deals/(.+?)/edit$" to="~/EditDeals.aspx?deal_string=$1" /> 我想要一个单独的页面来查看“交易”和编辑“交易”。我希望URL只需在交易中添加“/edit”即可转到编辑交
<rewrite url="~/deals/(.+)$" to="~/Deals.aspx?deal_string=$1" />
<rewrite url="~/deals/(.+?)/edit$" to="~/EditDeals.aspx?deal_string=$1" />
我想要一个单独的页面来查看“交易”和编辑“交易”。我希望URL只需在交易中添加“/edit”即可转到编辑交易页面
目前,所有流量都会进入第一个页面。问题是,任何与第二个页面匹配的url也会与第一个页面匹配(使用不同的$1捕获)。也许,如果您颠倒声明的顺序,它将起作用。如果第二个也是最具体的第一个被评估,那么它应该完成这项工作 此外,您还可以重写表达式,避免在捕获过程中使用斜杠字符
<rewrite url="~/deals/([ˆ/]+)$" to="~/Deals.aspx?deal_string=$1" />
<rewrite url="~/deals/(.+?)/edit$" to="~/EditDeals.aspx?deal_string=$1" />
字符集[ˆ/]表示除/之外的任何字符。第一个表达式的方式将不再匹配/deals/hello/edit