You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaScript在WordPress中提取图片URL里的尺寸值(正则求解)

提取WordPress图片URL中的生成尺寸

别担心,刚接触正则确实容易摸不着头脑,我来帮你搞定这个问题!针对WordPress这种文件名-宽度x高度.后缀的缩略图命名规则,我们可以用正则表达式精准提取出尺寸部分。

方法一:使用捕获组提取

这是最直观的方式,通过正则捕获我们需要的尺寸内容:

// 示例图片URL
const imageUrl = 'wp-content/uploads/2018/04/image-300x200.jpg';
// 匹配"-数字x数字."的正则,括号内是我们要捕获的尺寸
const sizeRegex = /-(\d+x\d+)\./;
// 执行匹配
const matchResult = imageUrl.match(sizeRegex);

// 判断是否匹配成功
if (matchResult) {
  const imageSize = matchResult[1]; // 捕获组1就是我们要的尺寸
  console.log(imageSize); // 输出: 300x200
} else {
  console.log('未找到符合格式的图片尺寸');
}

正则解释:

  • -:匹配尺寸前面的连字符
  • (\d+x\d+):捕获组,\d+匹配1个或多个数字,x匹配字面量的x,整体匹配数字x数字的格式
  • \.:匹配尺寸后面的点(文件后缀的开头)

方法二:使用零宽断言直接匹配(更简洁)

如果不想处理捕获组,可以用正向断言直接定位到尺寸部分,这样匹配结果直接就是我们要的内容:

const imageUrl = 'wp-content/uploads/2018/04/my-complex-filename-600x400.png';
// 用断言确保前后是连字符和点,中间匹配尺寸格式
const sizeRegex = /(?<=-)\d+x\d+(?=\.)/;
// 可选链操作符避免匹配失败时报错
const imageSize = imageUrl.match(sizeRegex)?.[0];

console.log(imageSize); // 输出: 600x400

正则解释:

  • (?<=-):正向回顾后发断言,确保当前位置前面是一个连字符(但不会把连字符包含在匹配结果里)
  • \d+x\d+:匹配数字x数字的尺寸格式
  • (?=\.):正向前瞻断言,确保当前位置后面是一个点(同样不会把点包含在匹配结果里)

这种方法即使文件名本身包含多个连字符,也能准确找到最后那个对应尺寸的部分,适用性更强。

内容的提问来源于stack exchange,提问作者yejielw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:08:21