当前我有一组格式为的字符串
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 \(
那么如何形成正确的正则表达式呢?为什么我没有匹配的 \( 是相关的,它只是我的表达式的转义字符,而不是用于格式化的字符?