在特定的两个数字后获得接下来的6个数字

时间:2016-09-16 09:28:37

标签: javascript regex

我想从字符串中得到数字24或99以及接下来的六个数字。例如,想象一下后面的字符串:

anytext 24 824 750 anytext 99 659 440 anytext 24 234 423 24743534 anytext

我得到的是:

24824750 99659440 24234423 24743534

3 个答案:

答案 0 :(得分:1)

var r=/(24|99)(\s*[0-9]){6}/g;
var s='anytext 24 824 750 anytext 99 659 440 anytext 24 234 423 24743534 anytext';
var m;
while(true) {
    m = r.exec(s);
    if(!m) break;
    console.log(m[0].replace(/\s/g,''));
}

如果您想要的话,可以将\s更改为空格。

答案 1 :(得分:0)

另一种方法(ES6代码):



var txt = 'anytext 24 824 750 anytext 99 659 440 anytext 24 234 423 24743534 anytext';

var res = txt.match(/(24|99)(\s*\d){6}/g).map( m => m.replace(/\s+/g, '') );

console.log(res);




答案 2 :(得分:0)

您可以执行以下操作



var str = "anytext 24 824 750 anytext 99 659 440 anytext 24 234 423 24743534 anytext",
 result = str.replace(/\s+/g,"")
             .match(/(?:24|99)\d{6}/g);
console.log(result);