necesito probar una dirección URL que no se extremo con .asp
Expresión regular para que coincida con una cadena (1+ caracteres) que no termina en .ext (extensión)
Así test
, test.html
y debe test.aspx
coincidencia, pero test.asp
no debe coincidir.
Lo normal sería probar si la url hace extremo con .asp y negar el hecho de que se correspondía con el operador no está en código:
if(!regex.IsMatch(url)) { // Do something }
En ese caso, la expresión regular, pero sería \.asp$
en este caso, necesito la expresión regular para dar como resultado una coincidencia.
Antecedentes: Necesito utilizar la expresión regular como un contraint ruta en el método de extensión ASP.NET MVC RouteCollection.MapRoute
. La ruta debe coincidir con todos los controladores pero debería caer a través de cuando el controlador en la url termina con .asp
El segundo hizo el truco, parece que necesito hacer algunas pruebas con más urls, pero mi primera unidad ahora pasa, así que ¡gracias! –
+1 para una buena información. Tiny nit pick: el título de la pregunta muestra "1+ characters" y creo que tus dos primeras expresiones regulares coincidirían con las cadenas vacías. –
En el contexto de las restricciones de enrutamiento MVC de ASP.NET, la URL se inspecciona por partes: {controller}/{action}/{id} La expresión regular debe coincidir con la parte {controller}, por lo que "el final" no siempre ser el final de la url, pero el final de la {controller} parte del final. –