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

时间:2016-11-17 06:32:46

标签: 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);

获得的输出是:

["1","abc","2.5","efg","3","mno"]

.1号码被视为1,而我需要.1

2 个答案:

答案 0 :(得分:15)

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

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

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

答案 1 :(得分:0)

var z = ".1abc2.5efg3mno".match(/[\d\.]+|\D+/g);
console.log(z);