我想使用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和其他语言温和地介绍掌握正则表达式吗?
答案 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所述,这里的正则表达式并没有太多用处。