我编写了一个简单的 JavaScript 函数来将文件名拆分为多个部分:给定一个类型为“image01.png”的文件名,它将其拆分为“image”、“01”、“png”。
为此,我使用以下正则表达式:
var reg = /(\D+)(\d+).(\S+)$/;
这行得通。
但是,我也希望能够将这样的内容:day12Image01.png 拆分为“day12Image”、“01”、“png”。一般来说,我希望有任意数量的附加数字与正文相关联,只要它们不在扩展之前。
我试过:
var reg = /(.+)(\d+).(\S+)$/;
或替代方案:
var reg = /(\S+)(\d+).(\S+)$/;
令人困惑的是(对我来说),如果我将这些正则表达式应用于“image01.png”,我会得到以下分解:“image0”、“1”、“png”。
为什么在这些情况下将“0”分配给正文而不是数字索引?
感谢您的任何反馈。