Javascript 正则表达式-我需要在第一个数字后拆分一个字符串

Javascript 正则表达式-我需要在第一个数字后拆分一个字符串,javascript,regex,Javascript,Regex,字符串: -45 89 -ertu567 树5678 我需要它们像这样分开: -4 5 8 9 -ertu5 67 树5678 每次我尝试使用\d,它都会将-视为一个数字。您可以检索正则表达式匹配的索引,并在该索引后拆分字符串: 函数拆分数字(str){ var m=/\d/.exec(str); 返回m?[str.substr(0,m.index+1),str.substr(m.index+1)]:[str]; } document.write(JSON.stringify

字符串:

-45
89
-ertu567
树5678
我需要它们像这样分开:

-4 5
8        9
-ertu5 67
树5678

每次我尝试使用
\d
,它都会将
-
视为一个数字。

您可以检索正则表达式匹配的索引,并在该索引后拆分字符串:

函数拆分数字(str){
var m=/\d/.exec(str);
返回m?[str.substr(0,m.index+1),str.substr(m.index+1)]:[str];
}
document.write(JSON.stringify(splitAtDigit(“-ertu567”))这对我有用

/^(\D*\d)(.*)$/
我做了一把小提琴给你看,让你玩


@tzunghaor请不要混淆其他人,这两件事在这里是同义词。@Ja͢ck他们不是。[0-9]只是0-9,而\d可以包含任何unicode数字。@Forlan07不在JavaScript中。在JS中,
\d
[0-9]
的简写。我目前没有任何可以工作的东西,但是下面的Forlan07发布了^.*.[0-9],这会得到字符串的后半部分,但不会给我作为数组输出的前半部分。这太复杂了,有更简单的方法吗?是的,你说得对@gijswijs的解决方案更简单。就是这样,你赢了!!!非常感谢gijswijs