JavaScript正则表达式分割数字和字母

Mon*_*sha 8 javascript regex

我需要正则表达式模式将字符串拆分为数字和字母.即.1abc2.5efg3mno应分为[".1","abc","2.5","efg","3","mno"].

我试过的当前正则表达式是:

var str = ".1abc2.5efg3mno";
regexStr= str.match(/[a-zA-Z]+|[0-9]+(?:\.[0-9]+|)/g);
Run Code Online (Sandbox Code Playgroud)

获得的输出是:

["1","abc","2.5","efg","3","mno"]
Run Code Online (Sandbox Code Playgroud)

这个数字.1被视为1而我需要它.1.

Bif*_*fen 19

如果是将字母与非字母分开,那么正则表达式可以很简单:

var str = ".1abc2.5efg3mno";
var regexStr = str.match(/[a-z]+|[^a-z]+/gi);
console.log(regexStr);
Run Code Online (Sandbox Code Playgroud)

即匹配一组字母或一组非字母.