Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式图像大小-输出错误_Javascript_Regex - Fatal编程技术网

Javascript 正则表达式图像大小-输出错误

Javascript 正则表达式图像大小-输出错误,javascript,regex,Javascript,Regex,我正在尝试替换输入URL中的图像大小 正则表达式: imgurl = imgurl.replace(/-[^.-]+(?=\.jpg)/, "-200x200"); 输入图像URL: http://www.site-address.com/wp-content/uploads/2014/04/della-and-perry-300x300.jpg 预期产出: http://www.site-address.com/wp-content/uploads/2014/04/della-and-pe

我正在尝试替换输入URL中的图像大小

正则表达式:

imgurl = imgurl.replace(/-[^.-]+(?=\.jpg)/, "-200x200");
输入图像URL:

http://www.site-address.com/wp-content/uploads/2014/04/della-and-perry-300x300.jpg
预期产出:

http://www.site-address.com/wp-content/uploads/2014/04/della-and-perry-200x200.jpg
实际产量:

http://www.site-address.com/wp-content/uploads/2014/04/della-and-200x200.jpg
我不知道我在这里做了什么来替换那些字母。Regex不是我的强项,我还在学习

如果能得到任何帮助,我将不胜感激。谢谢

这对我很有用:

imgurl=imgurl.replace(/-[\d]{3}x[\d]{3}/,“-200x200”)

这将删除
.jpg
扩展名:

imgurl=imgurl.replace(/-[\d]{3}x[\d]{3}\.jpg/,“-200x200”)
这对我来说很有效:

imgurl=imgurl.replace(/-[\d]{3}x[\d]{3}/,“-200x200”)

这将删除
.jpg
扩展名:


imgurl=imgurl.replace(/-[\d]{3}x[\d]{3}\.jpg/,“-200x200”)

对我来说,您的解决方案也很有效:

var imgurl = "http://www.site-address.com/wp-content/uploads/2014/04/della-and-perry-300x300.jpg";
imgurl = imgurl.replace(/-[^.-]+(?=\.jpg)/, "-200x200")
console.log(imgurl);
// http://www.site-address.com/wp-content/uploads/2014/04/della-and-perry-200x200.jpg
难道你不能以某种方式执行两次替换吗


对我来说,你的解决方案也很有效:

var imgurl = "http://www.site-address.com/wp-content/uploads/2014/04/della-and-perry-300x300.jpg";
imgurl = imgurl.replace(/-[^.-]+(?=\.jpg)/, "-200x200")
console.log(imgurl);
// http://www.site-address.com/wp-content/uploads/2014/04/della-and-perry-200x200.jpg
难道你不能以某种方式执行两次替换吗



不,不会。你想删除.jpg扩展吗?不,我想离开它,现在就测试一下。我马上就接受。谢谢你的回复!它确实起作用了,但我不知道我的另一个正则表达式也起作用了。根据用户选择的选项,某些图像可能根本没有尺寸。我需要告诉网站的所有者正确的方法来避免这个问题。不,不会的。你想删除.jpg扩展吗?不,我想离开它,现在就测试一下。我马上就接受。谢谢你的回复!它确实起作用了,但我不知道我的另一个正则表达式也起作用了。根据用户选择的选项,某些图像可能根本没有尺寸。我需要告诉网站的所有者正确的方法来避免这个问题。这是很有可能的,我没有想到。它适用于我的所有其他图像,但对于这个della和perry,它返回della-and-200x200.jpgTry,添加一些日志记录或进行一些调试以遵循控制流,检查是否错误地运行了两次。是的,我想这可能就是它。jsfiddle按预期工作。该挖点东西了,一定是时候了。我已经替换了代码,但我认为它被缓存了。它似乎已经更新,并且似乎100%正常工作。我现在已经测试了多个图像。我也把它改成了
imgurl=imgurl.replace(/-[^-]+(?=\.jpg |.gif |.png)/,“-200x200”)
然后您可以使用@Akinkunle的解决方案仅匹配类似维度的模式
/-\d+x\d+(?=\.jpg)/
。但从现在起,你就要决定你想匹配什么样的模式。你甚至可以只匹配矩形图像:
/-(\d+)x\1(?=\.jpg)/
这是非常可能的,我没想到。它适用于我的所有其他图像,但对于这个della和perry,它返回della-and-200x200.jpgTry,添加一些日志记录或进行一些调试以遵循控制流,检查是否错误地运行了两次。是的,我想这可能就是它。jsfiddle按预期工作。该挖点东西了,一定是时候了。我已经替换了代码,但我认为它被缓存了。它似乎已经更新,并且似乎100%正常工作。我现在已经测试了多个图像。我也把它改成了
imgurl=imgurl.replace(/-[^-]+(?=\.jpg |.gif |.png)/,“-200x200”)
然后您可以使用@Akinkunle的解决方案仅匹配类似维度的模式
/-\d+x\d+(?=\.jpg)/
。但从现在起,你就要决定你想匹配什么样的模式。您甚至可以只匹配矩形图像:
/-(\d+)x\1(?=\.jpg)/
正则表达式在我的浏览器中运行良好,只匹配-300x300。jpgIt似乎适用于除我在示例中使用的图像之外的所有图像。也许正是这张图片造成了一个问题。似乎所有其他的都很好。它使用完全相同的字符串。
centurion-an-interview-with-director-neil-marshal-300x225.jpg
变成
centurion-an-interview-with-director-neil-200x200.jpg
是的,regex不可能匹配-marshal-part。我认为你不知何故在运行替换两次,这会做到这一点。也许你应该发布剩下的代码。这个正则表达式在我的浏览器中工作得很好,并且只匹配-300x300。jpgIt似乎适用于除我在示例中使用的图像之外的所有图像。也许正是这张图片造成了一个问题。似乎所有其他的都很好。它使用完全相同的字符串。
centurion-an-interview-with-director-neil-marshal-300x225.jpg
变成
centurion-an-interview-with-director-neil-200x200.jpg
是的,regex不可能匹配-marshal-part。我认为你不知何故在运行替换两次,这会做到这一点。也许你应该把剩下的代码贴出来。