我需要替换链接的特定部分
例如:
http://sub.somedomain.com/s/be2b46b4cb28ed64fe59d191cb600117/2013/image.jpg
自
http://sub.somedomain.com/s/123123/2013/image.jpg
我尝试过:
echo "http://sub.somedomain.com/s/be2b46b4cb28ed64fe59d191cb600117/2013/image.jpg" | sed "s@/s/(.+?)/@123123@g"
sed "s@/s/[^/]*/@/s/123123/@g"
正则表达式的问题:
- 括号
(
和)
是基本正则表达式 (BRE) 中的正则字符(这里实际上不需要它们) -
+
在 BRE 中也不特别 - 如果您启用了带有
sed -E
的扩展正则表达式,您将匹配太多,因为您不会停留在下一个斜杠