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

时间:2015-02-25 13:48:00

标签: javascript regex

的字符串:

-45
89
-ertu567
tree5678

我需要像这样拆分:

-4       5
8        9
-ertu5   67
tree5    678

每当我尝试使用\d时,它都会将-视为数字。

2 个答案:

答案 0 :(得分:2)

这适用于我

/^(\D*\d)(.*)$/

我做了一个小提琴,让你看到和玩

https://regex101.com/r/xW4aE8/1

答案 1 :(得分:1)

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



function splitAtDigit(str) {
  var m = /\d/.exec(str);
  return m ? [str.substr(0, m.index + 1), str.substr(m.index + 1)] : [str];
}

document.write(JSON.stringify(splitAtDigit("-ertu567")));