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

JavaScript正则表达式提取.x-m4a文件扩展名问题求助

解决.x-m4a扩展名提取的正则匹配问题

问题原因

你当前使用的正则表达式/\.[0-9a-z]+$/i仅匹配包含数字、小写字母的扩展名,但.x-m4a里包含减号-,不在正则的匹配范围内,导致match()方法返回null。此时直接访问[0]就会触发TypeError: cannot read properties of null (reading '0')。

解决方案

修改正则表达式,将减号-加入匹配字符集,同时保留大小写不敏感的规则:

var regex = /\.[0-9a-z-]+$/i;
var matchResult = 'audio.x-m4a'.match(regex);
// 先判断匹配结果是否存在,避免报错
var ext = matchResult ? matchResult[0] : '';
console.log(ext); // 输出:.x-m4a

额外说明

  • 正则里的-需要放在字符集的末尾(或开头),避免被解析为范围符号(比如a-z是范围,-z就只是字符)。
  • 增加空值判断可以让代码更健壮,即使遇到无扩展名的文件名也不会报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 19:42:01