我试图限制字符串的结果数量。我正在使用的示例字符串是:
2013 910 1102 0 203 398
我不想使用匹配数组,而是希望正则表达式只匹配前三位数。这些恰好是内存使用,因此数字可能更小或更大。
非常感谢任何帮助。
答案 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"]