gpt4 book ai didi

javascript - JavaScript 中正则表达式的奇怪行为

转载 作者:行者123 更新时间:2023-11-28 02:27:08 24 4
gpt4 key购买 nike

我编写了一个简单的 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”分配给正文而不是数字索引?

感谢您的任何反馈。

最佳答案

尝试使用非贪婪正则表达式/(\S+?)(\d+).(\S+)$/。据我所知,这应该适用于 javascript。

关于javascript - JavaScript 中正则表达式的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14770997/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com