gpt4 book ai didi

javascript - 正则表达式拆分 - 一次有效

转载 作者:太空宇宙 更新时间:2023-11-04 16:21:02 25 4
gpt4 key购买 nike

我有以下 Jquery 和 Regex:

 $("[class^=ipsum-img],[class^=ipsum-img-]").each(function(){
var x = $(this).attr("class");
console.log(x.length);
if (x.length>8) {
var m = x.split(/(\d+)[^-]*$/g);
console.log(m);
}
else{
console.log("short");
}

});

我正在寻找类“.ipsum-img”和“.ipsum-img-xxxxxx”的所有实例。

对于每次出现,我都会得到类(class)的长度。

如果长度 > 8,我可以假设是类“.ipsum-img-xxxxxx”

如果是“ipsum-img-xxxxxx”,我需要使用正则表达式,从类名中解析出“xxxxxx”。

我正在使用以下正则表达式:

   var m = x.split(/(\d+)[^-]*$/g);
console.log(m);

在我的控制台中,我看到以下内容:

数组 [ "ipsum-img-", "000000", ""]

数组 [ "ipsum-img-ffffff"]

数组 [ "ipsum-img-efefef"]

似乎正则表达式只是为第一个实例创建拆分。我检查了我的页面源代码,并确认页面上只有这三个类。

为什么只工作一次?

最佳答案

正则表达式查找一个或多个数字的字符串,后跟任意数量的不是 - 的字符,直到字符串的末尾。 "ipsum-img-ffffff""ipsum-img-efefef" 都不匹配。

我个人不会用 .split() 来做:

var matched = /ipsum-img-(\d+)$/.exec(this.className);
var number = matched && matched[1] || null;

关于javascript - 正则表达式拆分 - 一次有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29218953/

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