un slug de URL
Coincide con un slug de URL. Está anclado en ambos extremos, así que debe coincidir la cadena entera. No tiene grupos de captura.
Patrón
/^[a-z0-9]+(?:-[a-z0-9]+)*$/- Alcance
- la cadena entera
- Grupos de captura
- 0
- Lo que captura en el primer ejemplo
- hello-world
Pruébalo
Escribe cualquier texto y se marcará lo que captura la expresión. Todo ocurre en tu navegador y no se envía a ninguna parte.
hello-world
1 coincidencia
Ejemplos que coinciden
- hello-world
- a1
Ejemplos que no coinciden
- Hello-World
- hello--world
- -hello
Otras expresiones del grupo
^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$una cadena codificada en base64^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]*$un JWT dividido por dos puntos^\+[1-9]\d{7,14}$un número de teléfono en forma internacional^[a-z][a-z0-9_]{2,15}$un usuario que empieza por letra^[^\\/:*?"<>|]+\.[a-z0-9]+$un nombre de archivo con extensión^.+\.(?:jpe?g|png|gif|webp|avif|svg)$una extensión de archivo de imagen^/(?:[^/\0]+/)*[^/\0]*$una ruta estilo Unix^[A-Za-z]:\\(?:[^\\/:*?"<>|]+\\)*[^\\/:*?"<>|]*$una ruta de WindowsCómo leerlo
- Con ^ y $ alrededor, debe coincidir la cadena entera; sin ellos, la coincidencia puede estar en cualquier parte. Ancla siempre lo que uses para validar.
- Los paréntesis ( ) capturan lo que envuelven. Si solo necesitas agrupar, escribe (?: ) para que no se desplace la numeración.
- Cada expresión de aquí se comprueba con sus ejemplos. Aun así, "parece un correo" y "es un buzón real" son cosas distintas.
- Las repeticiones abiertas anidadas como (a+)+ pueden dispararse con ciertas entradas. Busca esa forma antes de pegar una expresión ajena.
Preguntas frecuentes
Q. ¿Cuál es la regex para un slug de URL?
^[a-z0-9]+(?:-[a-z0-9]+)*$.
Q. ¿Qué cadenas coinciden?
Un texto como hello-world coincide; uno como Hello-World no.
Q. ¿Debe coincidir la cadena entera?
Sí. Va entre ^ y $, así que solo pasa una coincidencia completa.
Q. ¿Cómo uso lo capturado?
No hay grupos de captura, así que solo vuelve la coincidencia completa (match[0]). Envuelve entre paréntesis la parte que necesites.