简体   繁体   English

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

[英]JavaScript regex to split numbers and letters

I need regex pattern to split a string into numbers and letters. 我需要使用正则表达式模式将字符串拆分为数字和字母。 Ie .1abc2.5efg3mno should be split into [".1","abc","2.5","efg","3","mno"] . .1abc2.5efg3mno应该分成[".1","abc","2.5","efg","3","mno"]

The current regex I tried is: 我尝试过的当前正则表达式是:

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

Output obtained is: 获得的输出为:

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

The number .1 is taken as 1 whereas I need it as .1 . 将数字.1视为1而我需要将其作为.1

If it's a matter of separating letters from non-letters, then the regex can be made quite simple: 如果是将字母与非字母分开的问题,则可以使正则表达式非常简单:

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

Ie match a group of letters or a group of non-letters. 即匹配一组字母或一组非字母。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM