gpt4 book ai didi

javascript - 捕获重复组

转载 作者:行者123 更新时间:2023-11-30 11:25:17 26 4
gpt4 key购买 nike

我有这个字符串 1xxx5xx1x7xxx8。我想获得匹配项,以便获得以下结果:

match[0] = '1xxx5'
match[1] = '5xx1'
match[2] = '1x7'
match[3] = '7xxx8'

所以基本模式是获取数字之间有 1more x 的组。到目前为止,我有这个基本的正则表达式,但它不起作用:

/\dx{1,}\d/

我使用的字符串只是一个例子,只要字符串是什么,模式就可以继续。

最佳答案

您可以使用 RegExp.prototype.exec一次找到一个匹配项并递减 lastIndex在两者之间开始搜索下一个具有重叠字符的匹配项:

var str = '1xxx5xx1x7xxx8';
var regex = /\dx+\d/g;

var matches = [], match;
while ( match = regex.exec( str ) ) {
matches.push( match[ 0 ] );
regex.lastIndex--; // Start next search one char back (overlap matches)
}

console.log( matches );

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

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