在数字后面分隔变量的正则表达式-jQuery

在数字后面分隔变量的正则表达式-jQuery,jquery,regex,Jquery,Regex,我收到了以下格式的变量: var fubar = e2s2 现在,字母总是一样的,但是数字确实变了。数字只能是1-9。最终结果我需要这样的东西: var foo = e2 var bar = s2 我也只能接受这个数字。我只需要有数字。如果正则表达式始终是这种形式,则不需要正则表达式 var foo = fubar.substr(0,2), bar = fubar.substr(2); …或者,如果您只需要数字: var foo = fubar.substr(1,1), b

我收到了以下格式的变量:

var fubar = e2s2
现在,字母总是一样的,但是数字确实变了。数字只能是1-9。最终结果我需要这样的东西:

var foo = e2
var bar = s2

我也只能接受这个数字。我只需要有数字。

如果正则表达式始终是这种形式,则不需要正则表达式

var foo = fubar.substr(0,2),
    bar = fubar.substr(2);
…或者,如果您只需要数字:

var foo = fubar.substr(1,1),
    bar = fubar.substr(3);
如果您确实需要正则表达式解决方案,那么:

var digits = fubar.replace(/\d/g, '').split(''),
    foo    = digits[0],
    bar    = digits[1];
有一百万种方法可以做到这一点。但除非你真的需要,否则不要使用正则表达式


干杯

这是通过
拆分方法实现的

(?![1-9])

(?=[^1-9])
注意:

使用<代码>(?[1-9] ^ ^)< /> >以避免包含在所得数组

中的空白空间
var fubar = 'e2s2' ;

var foo = fubar.substr(0,2) ;
var bar = fubar.substr(2);

使用带有replace的正则表达式。下面的代码可以工作

var fubar = "e2s2";
var a = fubar.replace(/\d/g, function(arg){ return arg+ ","}).split(",");
a.pop(); // removing last item.
var foo = a[0];
 var bar = a[1];

如果元素的格式始终为一个非数字字符后跟一个数字字符,则使用

elements = str.split(/(?=\D)/) 
获取数组中的完整元素;要仅获取数字(数字)数组,请使用


e2s2
是一个样本值还是什么?你想要什么…一个数字还是两个数字…或者/或者。。。这真的没关系。对于这样一个简单的问题有点复杂,你不觉得吗?但它对任何这样的字符串都有效,例如e2s2e2er2。
var digits=fubar.replace(/\d/g')。split(“”)str.split(/\D/)
?在第一个索引处会生成一个空白。。
(numbers = str.split(/\D/)).splice(0, 1);