如何將路徑與正規表示式配對? (正確的引用方式?)

如何將路徑與正規表示式配對? (正確的引用方式?)

我試圖找到正則表達式來匹配上下文./foo/baz/bar/filename.c中格式的路徑[[ $string =~ $regex ]]

我希望regex=$'(^\./).*$'匹配,但${BASH_REMATCH[1]}仍為空。我試著逃避括號或忽略 ,但.*沒有成功。

我發現瞭如何透過BASH_REMATCH其他$string內容存取嵌套捕獲組(右側的嵌套級別和捕獲組的一個附加索引),但這個我無法匹配。

我的失敗是什麼?

答案1

$string與變數一起使用,也可以在單引號[[ $string =~ $pattern ]]中引用,也可以在不帶美元符號的單引號中引用。$'...''...'

相關內容