嗨,我一直在尝试使用以下网址查找和替换图像的宽度和高度
正如您注意到的h_1024,当我从cdn请求时,w_768告诉我应该如何缩放图像。根据我的要求,这应该是可通过脚本ex调整大小( url,{500,500})应转换为以下url
到目前为止,这是我的代码,还不够完美,有没有办法解决这个问题?
var url = "http://res.cloudinary.com/chathura-rupasinghe/image/upload/c_fill,h_1024,w_768/v1453555296/manhattan_stater.jpg";
var reg1 = /(\h_.*?\,)/gi;
url = url.replace(reg1,"h_500,");
console.log(url);
发布于 2016-01-27 08:11:00
您可以在这里使用更具体的正则表达式(它不会取代h_1 in http://ite.com/h_2/upload/c_fill,h_1024,w_580
):
/(\/upload\/[^\/]*\bh_)\d+(,w_)\d+/
并替换为"$1" + my_height + "$2" + my_width
。
请参阅regex demo
var mywidth = "800";
var myheight = "600";
var re = /(\/upload\/[^\/]*\bh_)\d+(,w_)\d+/;
var str = 'http://res.cloudinary.com/chathura-rupasinghe/image/upload/c_fill,h_1024,w_768/v1453555296/manhattan_stater.jpg';
var subst = '$1' + myheight + '$2' + mywidth;
var result = str.replace(re, subst);
document.write(result);
正则表达式匹配:
(\/upload\/[^\/]*\bh_)
-组1(在替换字符串中使用$1
进行反向引用)与文字字符序列/upload/
(使用\/upload\/
)匹配,后跟除/
(使用[^\/]*
)以外的零个或多个字符,然后是文字序列为h_
\d+
的单词边界组-一个或多个数字-组2(在替换字符串中使用$2
进行反向引用)匹配一个逗号,后跟一个单词字符,后跟一个数字-一个或多个数字https://stackoverflow.com/questions/35017242
复制相似问题