Regex 使正则表达式精确匹配两个字符串字
我正在研究WebAPI2的属性路由。我正在尝试实现一个包含正则表达式的路由 Url应该是这样的Regex 使正则表达式精确匹配两个字符串字,regex,asp.net-mvc,asp.net-mvc-3,asp.net-web-api,asp.net-web-api2,Regex,Asp.net Mvc,Asp.net Mvc 3,Asp.net Web Api,Asp.net Web Api2,我正在研究WebAPI2的属性路由。我正在尝试实现一个包含正则表达式的路由 Url应该是这样的 /xyz/sale /xyz/rent 我尽了最大的努力,在谷歌上搜索了很多东西,但都在网上。我试过的是 [Route(@"xyz/{Type:^sale|rent$}")] 但它给出了以下错误 The inline constraint resolver of type 'DefaultInlineConstraintResolver' was unable to resolve the
/xyz/sale
/xyz/rent
我尽了最大的努力,在谷歌上搜索了很多东西,但都在网上。我试过的是
[Route(@"xyz/{Type:^sale|rent$}")]
但它给出了以下错误
The inline constraint resolver of type 'DefaultInlineConstraintResolver'
was unable to
resolve the following inline constraint: '^sale|rent$'.
这是错误的屏幕截图
请帮帮我。谢谢那么:
[Route("xyz/{Type:regex(sale|rent)}")]
如果没有,请尝试:
[Route("xyz/{Type:regex(^(sale|rent)$)}")]
你可以在这里看到,如果你使用:
[Route(“xyz/{Type:(sale | rent)}”)]
@OGHaza:-(不,我试过了,但不起作用。我认为关键的区别在于正则表达式周围使用了括号,这是您链接的页面上的示例所使用的。也许这就是它将正则表达式约束与其他约束关键字区分开来的方式。我完全没有主意。正如Wiseguy所说,无论解决方案如何,都需要()
围绕它。这与您刚才在注释中尝试的相同-因此它不起作用。您能粘贴它给出的错误吗?