gpt4 book ai didi

javascript - 我们如何在 JavaScript 中使用正则表达式检索模式子集?

转载 作者:行者123 更新时间:2023-11-28 14:05:24 25 4
gpt4 key购买 nike

<script type='text/javascript'>

var str="('apple',16),('orange',7),('banana',12)";
var pattern=/\('([^']+)',([0-9]+)\)/gi;

var reg=new RegExp(pattern);
var arr=str.match(reg);

document.write(arr);

</script>

在上面的 JavaScript 中,我在模式中使用了两对括号来指示我想要从字符串中获取的数据。显然,您可以看到我想要获取每个项目的字符串和数字。我想比赛结束后,我应该得到一个像这样的数组:

arr[0][0] equals to ('apple',16)
arr[0][1] equals to apple
arr[0][2] equals to 16

arr[1][0] equals to ('orange',7)
arr[1][1] equals to orange
arr[1][2] equals to 7

...等等

但现在我得到的 arr 只是完整的匹配,如下所示:

arr[0] equals to ('apple',16)
arr[1] equals to ('orange',7)

...等等

为什么以及如何取回包含我使用括号指定的数据的数组?

最佳答案

您需要迭代和收集才能获得您期望的结果

var str="('apple',16),('orange',7),('banana',12)";
var pattern=/\('([^']+)',([0-9]+)\)/gi;

var reg=new RegExp(pattern);

var arr = [];
while(match = reg.exec(str)) {
arr[arr.length] = match;
}

关于javascript - 我们如何在 JavaScript 中使用正则表达式检索模式子集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1740739/

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