gpt4 book ai didi

javascript - 重复捕获组

转载 作者:行者123 更新时间:2023-11-29 10:38:15 24 4
gpt4 key购买 nike

我有一个包含零个或多个数字的字符串,然后是零个或多个字符 ABCD。我想将数字解析为一组,然后将所有字符解析为每个字符的单独组。我试过:

([0-9]*)([ABCD])*:正确捕获数字,但只捕获最后一个字母

([0-9]*)(([ABCD])*):正确捕获数字,但首先是一组中的所有字母,然后是一组中的最后一个字母

我明白为什么会出现这些结果,但我不知道如何解决。如何更改我的正则表达式为匹配的字符提供多个组?如果数字或字母不存在,如果我没有得到空组(''undefined),则可加分。

例如:

1A => [1, A]

99 => [99]

CAB => [C, A, B]

1234ABCD => [1234, A, B, C, D]

最佳答案

JavaScript 没有用于“全部匹配”的内置方法。由于您提前知道所有字母都将是第二个匹配项,因此您可以自己拆分它们:

var matches = "1234ABCD".match(/([0-9]*)([ABCD]*)/).slice(1);
matches = [matches[0]].concat(matches[1].split(""));

关于javascript - 重复捕获组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33349988/

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