validate test regulares regular probar online expresiones expresion especiales espacio ejemplos caracteres blanco alfanumerico regex

test - Regex para que coincida con el URL de fin de línea o el carácter "/"



regex replace online (4)

Ahora tienes un par de expresiones regulares que harán lo que quieras, para que esté cubierto adecuadamente. Lo que no se ha mencionado es por qué su intento no funcionará: dentro de una clase de caracteres, $ (así como ^ , . , Y / ) no tiene un significado especial, por lo que [/ $] coincide con un literal / o un literal $ en lugar de terminar la expresión regular (/) o el final de línea coincidente ($).

Tengo una URL , y estoy tratando de hacerla coincidir con una expresión regular para sacar algunos grupos. El problema que tengo es que la URL puede finalizar o continuar con un "/" y más texto de URL. Me gustaría hacer coincidir URL como esta:

Pero no coincide con algo como esto:

Por lo tanto, pensé que mi mejor opción era algo como esto:

/(.+)/(/d{4}-/d{2}-/d{2})-(/d+)[/$]

donde la clase de caracteres al final contenía el "/" o el final de la línea. La clase de personaje no parece estar feliz con el "$" allí. ¿Cómo puedo discriminar mejor entre estas URL mientras sigo retirando los grupos correctos?


Para hacer coincidir el final o el final del contenido, use (/|/z)

Esto solo se aplica si no está usando concordancia multilínea (es decir, está haciendo coincidir una sola URL, no una lista de URL delimitada por una nueva línea).


Para poner eso con una versión actualizada de lo que tenía:

/(/S+?)/(/d{4}-/d{2}-/d{2})-(/d+)(/|/z)

Tenga en cuenta que he cambiado el inicio para ser una coincidencia no codiciosa para espacios no en blanco ( /S+? ) En lugar de hacer coincidir nada y todo ( .* )


/(.+)/(/d{4}-/d{2}-/d{2})-(/d+)(/.*)?$


En Ruby y Bash, puede usar $ entre paréntesis.

/(/S+?)/(/d{4}-/d{2}-/d{2})-(/d+)(/|$)

(Esta solución es similar a la de Pete Boughton, pero conserva el uso de $ , lo que significa final de línea, en lugar de usar /z , lo que significa el final de la cadena).