gpt4 book ai didi

javascript - 使用正则表达式替换 url 之间的值

转载 作者:行者123 更新时间:2023-11-28 06:27:16 24 4
gpt4 key购买 nike

您好,我一直在尝试使用以下网址查找并替换图像的宽度和高度

http://res.cloudinary.com/chathura-rupasinghe/image/upload/c_fill,h_1024,w_768/v1453555296/manhattan_stater.jpg

正如您所注意到的,h_1024、w_768 告诉我当我从 CDN 请求时应该如何缩放图像。根据我的要求,这应该可以通过脚本进行更改,ex resize(url,{500,500}) 应该将以下网址转换为

http://res.cloudinary.com/chathura-rupasinghe/image/upload/c_fill,h_500,w_500/v1453555296/manhattan_stater.jpg

这是我的代码,到目前为止还不完美,有什么方法可以解决这个问题

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);

最佳答案

您可以在此处使用更具体的正则表达式(不会替换 http://ite.com/h_2/upload/c_fill,h_1024,w_580 中的 h_1):



/(\/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_
  • 的字边界 \b
  • \d+ - 一位或多位数字
  • (,w_) - 第 2 组(在替换字符串中使用 $2 反向引用)匹配逗号,后跟单词字符,后跟下划线
  • \d+ - 一位或多位数字

关于javascript - 使用正则表达式替换 url 之间的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35017242/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com