我正在尝试找到一种方法,以将我所有的第1组匹配项都放入一个数组中,而不必使用带有matchAll()
的循环。
这是我到目前为止的内容,但是它只会产生第一个匹配项:
let str = "123ABC, 123ABC"
let results = str.matchAll(/123(ABC)/gi);
let [group1] = results;
alert(group1[1]);
如何将matchAll
的结果分成一个数组?又名:
// ABC, ABC
答案 0 :(得分:1)
如果只需要字符串的void Merge(int *numbers, int i, int j, int k)
{
int mergedSize = k - i + 1;
int merge2 = k - j;
int mergePos = 0;
int leftPos = 0;
int rightPos = 0;
int mergedNumbers = new int[mergedSize];
leftPos = i;
rightPos = j + 1;
部分,则不需要使用abc
方法。只需使用matchAll
方法使用正向后看正则表达式即可轻松获得所需的结果。
match
以下是有关这些类型的正则表达式Lookahead and lookbehind
的更多信息答案 1 :(得分:1)
const str = "123ABC, 123ABC"
const results = Array.from(
str.matchAll(/123(ABC)/gi),
([_, g1]) => g1
)
console.log(results)
答案 2 :(得分:0)
您可以使用Array.from
将结果转换为数组并一次性执行地图:
const matches = Array.from(results, match => match[1])