Expresiones regulares·una ruta estilo Unix

una ruta estilo Unix

Coincide con una ruta estilo Unix. Está anclado en ambos extremos, así que debe coincidir la cadena entera. No tiene grupos de captura.

Patrón
/^/(?:[^/\0]+/)*[^/\0]*$/
Alcance
la cadena entera
Grupos de captura
0
Lo que captura en el primer ejemplo
/usr/local/bin

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.

/usr/local/bin

1 coincidencia

Ejemplos que coinciden

  • /usr/local/bin
  • /

Ejemplos que no coinciden

  • usr/local
  • C:\\Windows

Otras expresiones del grupo

Có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 una ruta estilo Unix?

^/(?:[^/\0]+/)*[^/\0]*$.

Q. ¿Qué cadenas coinciden?

Un texto como /usr/local/bin coincide; uno como usr/local 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.