Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.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,我在页面上放置了一个图像,根据所选图像的不同,尺寸也不同。我想使用正则表达式来替换图像尺寸,使它们始终为200x200,但我不确定如何执行此操作。图像维度是字符串的一部分 例如: http://www.site.com/path/to/image/The-fly-300x194.jpg 但我希望它是: http://www.site.com/path/to/image/The-fly-200x200.jpg 我不知道如何使用正则表达式来改变它。我可以使用str.replace或其他任何东西,但尺

我在页面上放置了一个图像,根据所选图像的不同,尺寸也不同。我想使用正则表达式来替换图像尺寸,使它们始终为200x200,但我不确定如何执行此操作。图像维度是字符串的一部分

例如:

http://www.site.com/path/to/image/The-fly-300x194.jpg

但我希望它是:

http://www.site.com/path/to/image/The-fly-200x200.jpg

我不知道如何使用正则表达式来改变它。我可以使用str.replace或其他任何东西,但尺寸根据图像的不同而不同。

在Javascript中:

var s = 'http://www.site.com/path/to/image/The-fly-300x194.jpg';
var r = s.replace(/[^.-]+(?=\.jpg)/, "200x200");
//=> http://www.site.com/path/to/image/The-fly-200x200.jpg

您使用哪种工具进行正则表达式?图像尺寸也在JPEG数据流中,因此您需要重写JPEG并为文件指定一个新名称。什么语言?你需要更换什么?多张图片?一张照片?在一个容器里?都在文件里吗?你知道它在哪里吗?你知道图像的格式吗?不清楚你在问什么。我不想对实际的正则表达式做太多的解释,但我们的想法是使用“^(.*)(\d+)x(\d+).jpg$”形式的捕获组,然后可以使用第一个捕获组和新需要的维度重新构建url。看起来工作得很好。关于在哪里/如何学习适当的正则表达式的任何提示。似乎只有一个向导才能完成任务…我认为这是学习正则表达式的很好的资源。太棒了,我来看看。我希望能够在我的头顶上玩正则表达式(或者至少离它很近)。谢谢阿努巴瓦!