JavaScript正则表达式帮助 - 限制匹配数

时间:2011-12-21 08:14:04

标签: javascript regex

我试图限制字符串的结果数量。我正在使用的示例字符串是:

2013        910       1102          0        203        398

我不想使用匹配数组,而是希望正则表达式只匹配前三位数。这些恰好是内存使用,因此数字可能更小或更大。

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:2)

只需从字符串的开头匹配,然后匹配接下来的三位数字。像这样:

^\d{3}

其中:

^ = start of string
\d = digit 0-9
{3} = Three of the tokens

编辑:

有了额外的要求,这可以帮助你:

^(\d+).*?(\d+).*?(\d+)

这将捕获前三组数字。

答案 1 :(得分:0)

只需使用^(\d+)并捕获第1组。

正则表达式不需要匹配整个输入!只需匹配您需要匹配的内容。

答案 2 :(得分:0)

"2013 910 1102 0 203 398".split(" ").slice(0,3);

如果字符串中的数字被分隔了多个空格,那么您首先应该缩短它们。

"2013     910    1102 0   203 398".replace(/\s+/g," ").split(" ").slice(0,3);

输出将是:

["2013", "910", "1102"]