正则表达式,替换资源路径,修改资源名称

时间:2010-06-09 13:32:56

标签: javascript regex

我想使用JS正则表达式来获取如下字符串:

'http://www.somedomain.com/some_directory/some_other_directory/some_image.jpg'

把它变成这个:

'http://www.some_other_domain.com/another_directory/yet_another_directory/size1_some_image.jpg'

任何提示?此外,还有书籍或其他资源的任何指针,可以用JS和其他语言温和地介绍掌握正则表达式吗?

2 个答案:

答案 0 :(得分:1)

在这种情况下,简单的字符串方法可以:

url = 'http://www.somedomain.com/some_directory/some_other_directory/some_image.jpg';
bits = url.split('/');
'http://abc.com/def/ghi/' + bits[bits.length-1]

正则表达当然也会起作用:

'http://abc.com/def/ghi/' + url.match(/\/([^\/]+)$/)[1]

但这是不必要的。

答案 1 :(得分:0)

这可能与你想要的东西类似。

regex literal:/http:\/\/www\.somedomain\.com\/some_directory\/some_other_directory/\/(.+?)\.jpg/g

替换:“http://www.some_other_domain.com/another_directory/yet_another_directory/size1_ \ 1.jpg”

这假设图像名称是此表达式中唯一的变量,但也使您能够使用任何替换所需的替换URL,因此您可以将其更改为https或ftp或其他你需要。

此链接应该有助于作为Regex测试人员和参考,具有测试三种正则表达式语法的信息和能力:http://www.regextester.com/

...虽然如果您正在使用的字符串仅仅是URL本身,那么正如SilentGhost所述,这里的正则表达式并没有太多用处。