如何匹配字符串开头的数字

时间:2013-11-28 15:34:50

标签: javascript regex

我想在每个字符串的开头匹配一个数字:

1000_lang sorting_1 ghhgf_1002
1001_lang
100_abcdefg_sgdga_10001_321gg hjdshjdg

所以,我将分别有数字:1000, 1001, 100。基本上,我想匹配一个字符串中的数字,直到该数字符合第一个下划线。但数字可以是任意长度,因此如果是12345_eyquyewuq_32136 df_1999我需要12345。在第一个下划线之后不需要任何其他数字。

4 个答案:

答案 0 :(得分:2)

^\d+

从行首开始获取所有数字到第一个非数字

str = "123456_wibble";
patt = /^\d+/;
result = str.match( patt);

结果是一系列匹配,所以只要有1个或更多,你就找到了一些东西

请参阅Mozilla Regular Expressions

答案 1 :(得分:2)

这个答案只是javascript,但如果你不关心正则表达式可能会有用:

var str = "1000_lang sorting_1 ghhgf_1002";
var result = str.split("_")[0];

结果将保留第一个数字。

答案 2 :(得分:0)

像这样......

var str = '1000_lang sorting_1 ghhgf_1002',
    matches = str.match(/^\d+/)
console.log(matches)

答案 3 :(得分:-1)

\b\d+

其中\b是边界(即行的开头),\d+匹配尽可能多的数字。