目前我有屬於格式如何在括號之前形成正確的正則表達式來捕獲所有內容?
customName(path/to/the/relevant/directory|file.ext#FileRefrence_12345)
的從這一組字符串我想提取customName,第一個括號之前的字符,使用SED。
我最好的猜測至今都:
echo $s | sed 's/([^(])+\(.*\)/\1/g'
echo $s | sed 's/([^\(])+\(.*\)/\1/g'
然而,使用這些我得到的錯誤:
sed: -e expression #1, char 21: Unmatched (or \(
那麼,如何形成正確的正則表達式?爲什麼它是相關的,我沒有匹配\(它只是一個逃跑的字符爲我的表達式,而不是一個字符用於格式化?
小心,在'sed','('是字面括號,和'\('開始捕獲組,而不是相反 –
啊精彩感謝@TimPietzcker。! ,這清理了很多 – Matt