如何更改此图片的网址:
http://www.myOLDwebsite.com/ **********。***(我有GIF,jpgs,pngs)
到此:
http://www.myNEWwebiste.com/somedirectory/ ********** ***
使用REGexp文本编辑器?
非常感谢你的时间
[]的
马特乌斯
答案 0 :(得分:4)
为什么要使用正则表达式?
使用传统方法,替换:
src="http://www.myOLDwebsite.com/
使用:
src="http://www.myNEWwebiste.com/somedirectory/
当然,这假设您的图片代码始终遵循'src="<url>"'
模式,带有双引号和所有内容。
使用正则表达式当然也是可能的。替换这个:
(src\s*=\s*["'])http://www\.myOLDwebsite\.com/
使用:
\1http://www.myNEWwebiste.com/somedirectory/
或者,如果您的文本编辑器使用$来标记引用:
$1http://www.myNEWwebiste.com/somedirectory/
第二个想法 - 为什么你的图像首先有绝对的URL?这不是必要的吗?
答案 1 :(得分:2)
嗯,最简单的方法可能就是在就地模式下使用sed:
sed -ir \
's@http://www[.]myOLDwebsite[.]com/@http://www.myNEWwebsite.com/subdirectory/@g' \
file1 file2 ...
如果由于某种原因你需要实际解释HTML(而不仅仅是做一个简单的字符串替换),围绕BeautifulSoup构建的快速脚本会更安全 - 许多人尝试做HTML或通过正则表达式进行XML解析,但是如果不是不可能覆盖所有极端情况那么非常困难。
所有这一切都说,如果您使用相对链接,不要让您的HTML依赖于它托管的服务器,那就更好了。另请参阅<BASE HREF="...">
中的<HEAD>
元素,以指定所有网址相对的位置;如果你使用它,你只需要做一次替换。
答案 2 :(得分:0)
如果您正在尝试学习正则表达式,可以尝试使用The Regex Coach。