我想在每个字符串的开头匹配一个数字:
1000_lang sorting_1 ghhgf_1002
1001_lang
100_abcdefg_sgdga_10001_321gg hjdshjdg
所以,我将分别有数字:1000, 1001, 100
。基本上,我想匹配一个字符串中的数字,直到该数字符合第一个下划线。但数字可以是任意长度,因此如果是12345_eyquyewuq_32136 df_1999
我需要12345
。在第一个下划线之后不需要任何其他数字。
答案 0 :(得分:2)
^\d+
从行首开始获取所有数字到第一个非数字
str = "123456_wibble";
patt = /^\d+/;
result = str.match( patt);
结果是一系列匹配,所以只要有1个或更多,你就找到了一些东西
答案 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+
匹配尽可能多的数字。