Regex 如何使用sed替换字符串模式

Regex 如何使用sed替换字符串模式,regex,sed,Regex,Sed,我有如下的字符串模式 abcd(100 efgh) 我想使用sed将上面的字符串模式更改为下面的模式 ab(100) abcd和efgh是固定字符串,但数字(这里是100)不是固定的,可以是任意数字。 有人对此有什么想法吗?你能给些建议吗? 我总是感谢分享。使用捕获组来记住数字,使用字符类来匹配: echo 'abcd(100 efgh)' | sed 's/abcd(\([0-9]\+\) efgh)/ab(\1)/' (非gnu SED可能没有+,请改用[0-9][0-9]*。使用捕获组和

我有如下的字符串模式

abcd(100 efgh)

我想使用sed将上面的字符串模式更改为下面的模式

ab(100)

abcd和efgh是固定字符串,但数字(这里是100)不是固定的,可以是任意数字。 有人对此有什么想法吗?你能给些建议吗?
我总是感谢分享。

使用捕获组来记住数字,使用字符类来匹配:

echo 'abcd(100 efgh)' | sed 's/abcd(\([0-9]\+\) efgh)/ab(\1)/'

(非gnu SED可能没有
+
,请改用
[0-9][0-9]*

使用捕获组和反向引用-请参阅..您将获得有关您尝试但不起作用的代码的帮助..不要期望免费提供解决方案