¿Cómo hago coincidir una ruta con una expresión regular? (¿forma correcta de citar?)

¿Cómo hago coincidir una ruta con una expresión regular? (¿forma correcta de citar?)

Estoy tratando de encontrar la expresión regular que coincida con una ruta del formato ./foo/baz/bar/filename.cen un [[ $string =~ $regex ]]contexto.

Esperaría que regex=$'(^\./).*$'coincidiera, pero ${BASH_REMATCH[1]}permanece vacío. Intenté escapar de los paréntesis o dejarlos de lado .*sin éxito.

Descubrí la buena manera en que funciona el acceso a grupos de captura anidados a través BASH_REMATCHde otros $stringcontenidos (un índice adicional para el nivel de anidamiento y el grupo de captura a la derecha), pero no puedo igualar este.

¿Cuál es mi fracaso?

Respuesta1

Funciona con la $stringvariable al [[ $string =~ $pattern ]]cotizarse también entre $'...'comillas simples o '...'sin signo de dólar antepuesto.

información relacionada