Я пытаюсь найти регулярное выражение для соответствия пути формата ./foo/baz/bar/filename.c
в [[ $string =~ $regex ]]
контексте.
Я ожидал, что regex=$'(^\./).*$'
будет соответствовать, но ${BASH_REMATCH[1]}
остается пустым. Я пытался избежать скобок или убрать , но .*
безуспешно.
Я узнал об удобном способе доступа к вложенным группам захвата через BASH_REMATCH
другой $string
контент (один дополнительный индекс для уровня вложенности и группы захвата справа), но с этим я не могу совпасть.
В чем моя неудача?
решение1
Работает с $string
переменной, [[ $string =~ $pattern ]]
заключенной в $'...'
одинарные кавычки или '...'
без предшествующего знака доллара.