正規表現を使用してパスを一致させるにはどうすればよいですか? (引用符の正しい使い方は?)

正規表現を使用してパスを一致させるにはどうすればよいですか? (引用符の正しい使い方は?)

./foo/baz/bar/filename.cコンテキスト内の形式のパスに一致する正規表現を見つけようとしています[[ $string =~ $regex ]]

regex=$'(^\./).*$'が一致することを期待していましたが、${BASH_REMATCH[1]}空のままでした。括弧をエスケープするか、 を省略しようとしましたが、うまくいきませんでした.*

BASH_REMATCHネストされたキャプチャ グループへのアクセスが他のコンテンツを介してどのように機能するかという優れた方法 (ネスト レベルとキャプチャ グループの右側に 1 つの追加インデックス) を見つけました$stringが、これを一致させることができません。

私の失敗とは何でしょうか?

答え1

$string変数 inも、先頭にドル記号を付けずに、または一重引用符で囲んで引用符で[[ $string =~ $pattern ]]囲まれて動作します。$'...''...'

関連情報